Good point.
About the only thing I've found is the lack of pooling gen_server's built-in and limitations of using atoms for process registration as things I have design a solution for in OTP.
Otherwise, architecturally, I'm amazed at how much ground is already designed in OTP.
> I'm amazed at how much ground is already designed in OTP.
It is really like finding hidden treasure. And it used to actually be pretty hidden. There was no official book out there. Just had to dig through docs. There is OTP in Action now and I am glad to see others.
For example I had know idea about the existence of the distributed application controller, found out about it from a Learn You Some Erlang book.