-- get those pnts which are free in 't' and not included in 'pns'
freePNTsIn pns t 
 = do (pns', _) <- hsFDsFromInside t      -- Why not use freeAndDeclared?
      let pnts = nub $ hsPNTs =<< rmLocs t 
      return $ filter (\t->elem  (pNTtoPN t) (pns' \\ pns)) pnts

--Return True if moving the definition from origMod to destMod will cause recursive modules.
freePNTsIn pns t 
 = do (pns', _) <- hsFDsFromInside t      -- Why not use freeAndDeclared?
      let pnts = nub $ hsPNTs =<< rmLocs t 
      return $ filter (\t->elem  (pNTtoPN t) (pns' \\ pns)) pnts

--Return True if moving the definition from origMod to destMod will cause recursive modules.
freePNTsIn pns t 
 = do (pns', _) <- hsFDsFromInside t      -- Why not use freeAndDeclared?
      let pnts = nub $ hsPNTs =<< rmLocs t 
      return $ filter (\t->elem  (pNTtoPN t) (pns' \\ pns)) pnts

--Return True if moving the definition from origMod to destMod will cause recursive modules.