Fix TuplesProof (was problem with higher order functions)
Use case-of syntax for flattened case terms (and improve case-of prettyprinting)
Use (|...|) syntax for record constructors instead of .make function (and improve list term prettyprinting) and adapt TuplesProof accordingly
Use type synonyms also for function and array types and for recovered tuple types
Introduce flag --f[no-]simplify-shallow-tuples
When flag is set (default) simplify terms in tuples shallow embedding (for better readability) and extend TuplesProof accordingly
The non-tuples shallow embedding in ShallowShared and Shallow_Desugar is only modified by list prettyprinting and type synonym use, hence no other proof steps should be affected.
The non-tuples shallow embedding in ShallowShared and Shallow_Desugar is only modified by list prettyprinting and type synonym use, hence no other proof steps should be affected.