- Prefer `gleam/list` tail-recursive functions (`list.fold`, `list.map`) over manual recursion to avoid stack overflows on large inputs.
- Use `gleam/dict` for O(1) key lookups instead of `gleam/list` search functions when collection size is non-trivial.
- On the Erlang target, use `erlang.send` and `process.receive` for concurrent workloads — BEAM actors are cheap and avoid shared state bottlenecks.
- Avoid constructing intermediate `List` values in hot paths — compose transformations with a single `list.fold` where possible.