Comment Comment by throwaway283719 No. For example, a FilePath is (after resolving a few other type aliases) data Root = RootPosix | RootWindowsVolume Char | RootWindowsCurrentVolume data FilePath = FilePath { pathRoot :: Maybe Root , pathDirectories :: [String] , pathBasename :: Maybe String , pathExtensions :: [String] } parent throwaway283719 11 years ago