Abstract: replacable by any expression
Schema precondition
Supertype of unary expressions
Supertype of binary expressions
Supertype of lists of 0..N expressions
Supertype of lists of 2..N expressions (currently this schema does not check that there are at least two expressions, but code should)