:: (Show ann, Typeable ann, MonadCatch m) => AnProcess ann -> m (ProcessPosition -> Maybe ProcessPosition)
pfInv proc = do
                  set <- pfRange' proc
                  return $ \x -> snd <$> L.find (\(to,_) -> to == x ) (S.toList set)

pfInv :: (Show ann, Typeable ann, MonadCatch m) => AnProcess ann -> m (ProcessPosition -> Maybe ProcessPosition)
pfInv proc = do
                  set <- pfRange' proc
                  return $ \x -> snd <$> L.find (\(to,_) -> to == x ) (S.toList set)
pfInv proc = do
                  set <- pfRange' proc
                  return $ \x -> snd <$> L.find (\(to,_) -> to == x ) (S.toList set)