fn cs_partial_cmp(
    cx: &ExtCtxt<'_>,
    span: Span,
    substr: &Substructure<'_>,
    discr_then_data: bool
) -> BlockOrExpr