Checkpoint
Add error messages for misused parameters

1. Required number of parameters not declared
2. Param declared but not actually used in the function
3. Function not called with the correct number of params