Generate attribute writer methods and move type coercion functionality there
Improve spec descriptions
Attributes are now whitelisted in the constructor