* Improve front-end language

- Layout syntax, this program is not handled correctly:
   f = \x -> case x of
	        { r = _ } -> 0

- Tuple syntax in expressions, types and patterns. Implemented with records.

- List syntax in expressions, types and patterns. Implemented with List.

- operators for primitive string operations: 

- list operators: ++, :

- overloaded operators?

- implicit arguments?

- layout syntax?

- composOp generation

- show generation

- eq generation

- better module system

- Disjunctive patterns

- Negated patterns?

* Improve interpreter

- More efficient handling of constructor application

* Improve the core language

* Improve compilation

- Eta-expand constructor applications and use the core feature for them.

* Add primitive operations to core

- primitive operations on strings:

- add floating-point numbers with primitive oeprations?

* Implement module system in interpreter

* Add type checker for core

* Add friendly type checker for front-end language

* Add termination checker
