[boost] Explicit conversions to a contextual target type (was [optional] operator<(optional<T>, T) -- is it wrong?)