Introducing error types in local variables and parameters
Removing errors from a2
Adding defects to a0-untyped
Moving specs to single location
Fixing small details of a0