(import scheme (chicken base) interfaces) (interface counter (define (counter-new)) (define (counter-inc c)) (define (counter-get c))) (define simple-counter (implementation counter (define (counter-new) 0) (define counter-inc add1) (define counter-get identity))) (let ((c1 ((counter-new simple-counter)))) (print ((counter-get simple-counter) c1)) (let ((c2 ((counter-inc simple-counter) c1))) (print ((counter-get simple-counter) c2))))