I understand that. I started to make my product in Clojure. Got fairly along. Created an ArangoDB driver and migrator for it. Once I started creating the services, I keep having to go up through essentially the call stack to figure out what shape the data had at various points. I tried using a contract framework (forget its name, but I preferred it to Clojure's recent typing that doesn't type the value of a map). Now I'm back in Java.
The nice thing that either language will help introduce functional ideals. I recommend Erlang since its so unique.
The nice thing that either language will help introduce functional ideals. I recommend Erlang since its so unique.