Using Phantom Types in Haskell for Extra Safety · HackerTrans