(= zero-t (data)) (= succ-t (data prev)) (= zero (zero-c)) (= one (succ-c zero)) (= two (succ-c one)) (= three (succ-c two)) (= four (succ-c three)) ;; method (= (succ-t.inc self) (succ-c self)) (assert (eq ((.inc one)) two)) (assert (eq ((.inc two)) three)) ;; associated function (= (null-t.cons x) (cons x null)) (assert (eq ((.cons null-t) null) (cons null null)))