Currently only pointer types can be declared optional:
var a: int* // non-optional, cannot be null
var b: int*? // optional, can be null
Extend this feature also to other builtin types and structs, with the same postfix-? syntax.
This could be implemented using tagged unions once we have them, see #26.