Changes expressions to use priorities
Makes expression for return optional
Allows this as name for constructors
Removes ambiguities with "new" keyword
Allows empty trait bodies