Draft for type system and pattern matching.
Type system: Types, Pattern matching and Values (WIP)