mapFrom :: Loc -> PP ()
mapFrom (Loc (file,line)) = modify $ \ps ->
  ps { psMappings = m ps : psMappings ps
     }

  where m ps = Mapping { mapGenerated = Pos (fromIntegral (psLine ps))
                                            (fromIntegral (psColumn ps))
                       , mapOriginal = Just (Pos (fromIntegral line)
                                                 0)
                       , mapSourceFile = Just (T.unpack file)
                       , mapName = Nothing
                       }
mapFrom :: Loc -> PP ()
mapFrom (Loc (file,line)) = modify $ \ps ->
  ps { psMappings = m ps : psMappings ps
     }

  where m ps = Mapping { mapGenerated = Pos (fromIntegral (psLine ps))
                                            (fromIntegral (psColumn ps))
                       , mapOriginal = Just (Pos (fromIntegral line)
                                                 0)
                       , mapSourceFile = Just (T.unpack file)
                       , mapName = Nothing
                       }
mapFrom (Loc (file,line)) = modify $ \ps ->
  ps { psMappings = m ps : psMappings ps
     }

  where m ps = Mapping { mapGenerated = Pos (fromIntegral (psLine ps))
                                            (fromIntegral (psColumn ps))
                       , mapOriginal = Just (Pos (fromIntegral line)
                                                 0)
                       , mapSourceFile = Just (T.unpack file)
                       , mapName = Nothing
                       }