{"ast_node_type":"variable","tokens":[{"end":39,"kind":"keyword","start":0,"text":"let"}]}
        let arity = ctor_sub_tys.len();
        pats!(@fields(idx:0, vec:fields, sub_tys:ctor_sub_tys) ,$($fields)*);
        let pat = DeconstructedPat::new(ctor, fields, arity, ty, ()).at_index(index);