boost::weak_ptr support
boost::weak_ptr<T> is defined as #Nullable and uses the implementation of ozo::is_null() examing the result of boost::weak_ptr::lock() method call.
The ozo::unwrap() function is implemented dereferencing the result of boost::weak_ptr::lock() method call.
ozo::unwrap() from boost::weak_ptr is not safe for reference holding since no object owning.