merge nil y y merge x nil x merge . x y . u v if < x u . x merge y . u v . u merge . x y v ++ nil y y ++ . x y z . x ++ y z if true x y x if false x y x merge 2 nil 0 . 2 if 3 < 2 ++ 2 true 0 false 0 FULL ./TRS/SK90/2.43.trs