Shuffle modules around
Add conversions to and from Haskell types