sending_observable is default constructible
transform_observable is movable even if the transformation is not (for example a lambda closure)
virtualize checks for the Observable concept fulfillment
the Observable concept requires default construction