Process pool with custom availability logic

AFAIK with poolboy you are on your own and have to implement your custom pooler. Process poolers and message queues are the two most commonly (re)written applications in Erlang/Elixir. Welcome to the club!

At last count we have 4 different implementations of process pooling in our production code. Yes, 4.