Comments; especailly on Optional<T>. Lose Optional<T>::operator T () - and document
why.
more comments