Add necessary type annotation to specification and update types
Update language snippets
Add eol and parametric type parsers
Constructor pattern with many arguments
Add type parameters to datatype
Functions and value has type annotation
Wide test coverage