(datatype list
(:nil)
(:cons 'a (list 'a))
)
(datatype bool (:true) (:false))
(define (make-stack)
(let ((l (list:nil)))
(lambda (e)
(set! l (list:cons e l)))
))
(let ((is (make-stack))
(bs (make-stack)))
(is 10)
(bs #f)
)