trans env (U n e) = do
  (t1, _) <- trans env e
  t2 <- reductN n t1
  return (t2, U n e)

-- TODO: Lack 1) exhaustive test 2) overlap test
trans env (U n e) = do
  (t1, _) <- trans env e
  t2 <- reductN n t1
  return (t2, U n e)

-- TODO: Lack 1) exhaustive test 2) overlap test
trans env (U n e) = do
  (t1, _) <- trans env e
  t2 <- reductN n t1
  return (t2, U n e)

-- TODO: Lack 1) exhaustive test 2) overlap test