Right now optional is used to wrap pointers as well, while that should not be necessary.
optional
See 1b5772d6 (comment 9904096)