cons : (t':U) -> (t:U) -> (x:t') -> (xs:t) -> (t' * t).
cons = \t'. \t. \x. \xs. (x,xs).

tcons : (t':U) -> (t:U) -> U.
tcons = \t'. \t. (t' * t).

nil : Unit.
nil = ().

mylist : (Bool * (Bool * Unit)).
mylist = cons Bool ((Bool * Unit)) True (cons Bool Unit False ()).

mylist2 =
  let t = Unit
   in
  let t' = tcons t t
   in
  let t'' = tcons t t'
   in
  let t''' = tcons t t''
   in
  cons t t''' ()
    (cons t t'' ()
      (cons t t' ()
        (cons t t ()
          ()))).
