shrinkTE
    :: Tuple (PreOpenExp acc env aenv) t
    -> Tuple (PreOpenExp acc env aenv) t
shrinkTE tup =
  case tup of
    NilTup      -> NilTup
    SnocTup t e -> SnocTup (shrinkTE t) (shrinkE e)
shrinkTE
    :: Tuple (PreOpenExp acc env aenv) t
    -> Tuple (PreOpenExp acc env aenv) t
shrinkTE tup =
  case tup of
    NilTup      -> NilTup
    SnocTup t e -> SnocTup (shrinkTE t) (shrinkE e)
shrinkTE tup =
  case tup of
    NilTup      -> NilTup
    SnocTup t e -> SnocTup (shrinkTE t) (shrinkE e)