val :: Term -> Term -> Term
eval t v = shift (-1) 0 (subst 0 (shift 1 0 v) t)

eval :: Term -> Term -> Term
eval t v = shift (-1) 0 (subst 0 (shift 1 0 v) t)
eval t v = shift (-1) 0 (subst 0 (shift 1 0 v) t)