{"ast_node_type":"function","tokens":[{"end":85,"kind":"keyword","start":0,"text":"pub(crate)"}]}
    pub(crate) fn new(ctor: Constructor<Cx>, fields: Vec<Self>, ty: Cx::Ty) -> Self {
impl<Cx: PatCx> WitnessPat<Cx> {
        Self { ctor, fields, ty }