flatten nil nil flatten unit x flatten x flatten ++ x y ++ flatten x flatten y flatten ++ unit x y ++ flatten x flatten y flatten flatten x flatten x rev nil nil rev unit x unit x rev ++ x y ++ rev y rev x rev rev x x ++ x nil x ++ nil y y ++ ++ x y z ++ x ++ y z flatten 1 nil 0 unit 1 ++ 2 rev 1 FULL ./TRS/SK90/2.42.trs