Zero-cost abstraction for NewTypes in Elixir

There was a discussion recently about changing the way dialyser matches on specs. Perhaps it might help you here?