mimetypes author & maintainer here. If I would ever have a tiny bit more time, I'd rewrite mimetypes in elixir in an instant. The solution we ended up doing in mimetypes, was the greatest fit for Elixir, not so much for Erlang (although, certainly possible — and it is being used by lots of Erlang developers).