parseFileToHsModule :: FilePath -> IO (Maybe HsModule)
parseFileToHsModule fp = 
  readFile fp 
  >>= (parseModuleWithMode defaultParseMode { parseFilename = fp } 
       >>> extractValue 
       >>> return
      )
  where extractValue parseResults = case parseResults of
                               ParseOk val -> Just val
                               _ -> Nothing
parseFileToHsModule :: FilePath -> IO (Maybe HsModule)
parseFileToHsModule fp = 
  readFile fp 
  >>= (parseModuleWithMode defaultParseMode { parseFilename = fp } 
       >>> extractValue 
       >>> return
      )
  where extractValue parseResults = case parseResults of
                               ParseOk val -> Just val
                               _ -> Nothing
parseFileToHsModule fp = 
  readFile fp 
  >>= (parseModuleWithMode defaultParseMode { parseFilename = fp } 
       >>> extractValue 
       >>> return
      )
  where extractValue parseResults = case parseResults of
                               ParseOk val -> Just val
                               _ -> Nothing