Interpreter
Interpreter copied to clipboard
Add case coverage/exhaustive checks for pattern matching
The patterns of a structural match should ensure that they are not already covered by previous cases and that the patterns are exhaustive. This is not an easy problem (hence the use of else), but once type inference is added it should be reasonable to have some basic handling here that works for common use cases.