Please consider this example: ```cpp // 1: This compiles rxcpp::connectable_observable<int> connectable; rxcpp::observable<int> o = connectable; // 2: This doesn't rxcpp::connectable_observable<int> *connectable_ptr; rxcpp::observable<int> *ptr = connectable_ptr; ``` Since `connectable_observable` derives from `observable`, why does (1) compile, and (2) doesn't?