Optional type

Done:
- returning double or none
- comparison of optional(any_type) with none

TODO:
- optional(type) as argument