getidST :: Monad m => Idx -> StateT [(Idx, Idx)] (StateT IdxSet m) Idx
getidST v = do
  mp <- get
  case lookup v mp of
    Just v' -> return v'
    Nothing -> return v
getidST :: Monad m => Idx -> StateT [(Idx, Idx)] (StateT IdxSet m) Idx
getidST v = do
  mp <- get
  case lookup v mp of
    Just v' -> return v'
    Nothing -> return v
getidST v = do
  mp <- get
  case lookup v mp of
    Just v' -> return v'
    Nothing -> return v