@staticmethod<EOL><INDENT>def _and_collapser(container: ShapeAnd, containee: shapeExpr) -> None:<DEDENT>
if isinstance(containee, ShapeAnd):<EOL><INDENT>for expr in containee.shapeExprs:<EOL><INDENT>container.shapeExprs.append(expr)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>container.shapeExprs.append(containee)<EOL><DEDENT>
For various nefarious reaons, the reference parser has decided to implement
            And(And(a, b), c) --> And(a, b, c).  We've got to do the same