(datatype list
   (cons 'a list)
   (nil))

;; fail to mix list(int) with list(bool)
(list:cons #t (list:cons 4 (list:cons 5 (list:nil))))