- Use `gleam/otp/actor` to define stateful concurrent processes — each actor encapsulates its own state and communicates only via messages.
- Define a `Message` custom type per actor module with a variant for every accepted message kind — never send raw strings or dynamic terms.
- Use `gleam/otp/supervisor` to structure process trees and restart failed actors automatically without manual error handling.
- Use `actor.continue(new_state)` to loop with updated state and `actor.stop(reason)` to terminate cleanly from within a handler.