type-complex-fields-index := (: BTreeEqEOF BTreeEq>); set-type-fields := λ(: base-type Type)(: args-type Type). (: ( (let tag '_s) (match base-type ( () ( (TGround( tg _ )) (set tag tg) ) ( _ ( (print 'ERROR:\sset-type-fields\n_s)(print base-type)(print '\n_s) (exit 1_u64) )) )) (.bind( (as (& type-complex-fields-index) BTreeEq>[]) tag (Tuple( base-type args-type )) )) ) Nil);