Typesafe Haskell filepaths. (Plain Haskell 2010 - uses vanilla HM phantom types)