Added match validation (for fun clauses)
Fixed how constraints are handled in validation
Added function validation
Finished nested declaration (where-clause) validation
Added validation for type and data declarations