eval env e
    | isAtom e = return $ e -- cannot reduce further
    | otherwise =  return $ e
eval env e
    | isAtom e = return $ e -- cannot reduce further
    | otherwise =  return $ e
eval env e
    | isAtom e = return $ e -- cannot reduce further
    | otherwise =  return $ e