object model, exception model, partial pattern matching

- correct order of object initialization
- trait initialization
- module lazy initialization
- type relations on objects
- typed pattern matching
- literal pattern matching
- return statements
- throwing and catching exceptions(limited by matching impl)
- arrays