A safe-dereferencing wrapper resembling a Maybe monad.
If the wrapped object is null, any further member dereferences will simply
return a wrapper around the .init value of the member's type. Since non-null
member dereferences will also return a wrapped value, any null value in the
middle of a chain of nested dereferences will simply cause the final result
to default to the .init value of the final member's type.
A safe-dereferencing wrapper resembling a Maybe monad.
If the wrapped object is null, any further member dereferences will simply return a wrapper around the .init value of the member's type. Since non-null member dereferences will also return a wrapped value, any null value in the middle of a chain of nested dereferences will simply cause the final result to default to the .init value of the final member's type.