Infer: Rename Error->MismatchError
Infer: Wrap MismatchError in an Error type, towards a sum type
Error is a sumtype, also an error to use a definition without a type