This pull request provides three features for the shallow embedding:
1) fix of issue #382 by adding a type specification to all invocations of polymorphic functions.
2) improve reuse of monomorphic type synonyms: Extend it to types containing builtin array types.
3) Initial partial support for reuse of polymorphic type synonyms. This is not perfect, but it works in many cases.
Features 2 and 3 only make the shallow embedding better readable for humans.
In all three cases no proofs should be affected.
This pull request provides three features for the shallow embedding: 1) fix of issue #382 by adding a type specification to all invocations of polymorphic functions. 2) improve reuse of monomorphic type synonyms: Extend it to types containing builtin array types. 3) Initial partial support for reuse of polymorphic type synonyms. This is not perfect, but it works in many cases.
Features 2 and 3 only make the shallow embedding better readable for humans. In all three cases no proofs should be affected.