+let t1 = (make_list 1 empty) in
+let t2 = (make_list 2 empty) in
+let t3 = (make_list 3 empty) in
+let t12 = (make_list t1 (make_list t2 empty)) in
+let t23 = (make_list t2 (make_list t3 empty)) in
+let ta = (make_list t1 t23) in
+let tb = (make_list t12 t3) in
+let tc = (make_list t1 (make_list t23 empty)) in
+;
+;sum-leaves t1 ~~> 1
+;sum-leaves t2 ~~> 2
+;sum-leaves t3 ~~> 3
+;sum-leaves t12 ~~> 3
+;sum-leaves t23 ~~> 5
+;sum-leaves ta ~~> 6
+;sum-leaves tb ~~> 6
+;