[WIP] Optional type

Done:
- returning double or none
- comparison of optional(any_type) with none

TODO:
- optional(type) as argument
Shouldn't all these functions go into the "optional" module instead?