(let ((type list (record (d int) (lnext list)))
      (type empty (record))
      (type a (record (b b)))
      (type b (record (a a))))
  ())
