Behaviours might be what you're looking for, they're the closest thing to inheritance in Elixir.
And you're absolutely right about genservers being objects :)
And you're absolutely right about genservers being objects :)
If your boilerplate turns out to not really be that samey though, it's easier IMHO to have a template and customize it where applied.