fields-of-type := λ(: tt Type). (: ( (match tt ( () ( TAny (set tt (t1 'Nil_s)) ) ( (TGround( 'Cons_s (LCons( p2 (LCons( p1 LEOF )) )) )) ( (set tt (TGround( 'Cons_s (close(cons( p2 (cons( (fields-of-type p1) (: LEOF List) )) ))) ))) )) ( _ ( (set tt (TGround( 'Cons_s (close(cons( tt (cons( (t1 'Nil_s) (: LEOF List) )) ))) ))) )) )) tt ) Type);