I had some confusion about syntax and noticed some inconsistencies between syntax and semantics for some modules, summarized below:
In section 6.3 and 9.3 you have a table for "Syntax" and then a separate table in 6.3.2 and 9.3.2 for "Exported Access Programs". What is the distinction between the two tables? For section 6, why is only one of the access programs listed in 6.3.2? I think there should be only one table per module for syntax, and that table should exist in the "Exported Access Programs" subsection. Then, all of the access programs for that module should be listed in the table.
Related to the above, in sections 6.4.4, 7.4.4, and 8.4.4, there were some access programs that were in Semantics but not in Syntax. They should be added to Syntax.
Specifically for the verifyInput method in section 6.4.4, there were some exceptions (LengthError, LengthMismatchError) which were not listed in Syntax. Also, ValueError was listed in Syntax but did not show up in the specification for verifyInput
I had some confusion about syntax and noticed some inconsistencies between syntax and semantics for some modules, summarized below: