Learn OTP with Gleam
github.com
github.com
Could you elaborate on how you find Elixir more expressive here?
Those are enough to get started with processes, including setting up two-way connections by sending local PID with the self function so the spawn:ed process knows where to send responses.
GenServer/gen_server is more or less a convenience wrapper around those, that makes more complicated processes easier to design but harder to get started with.