This reverts commit bed3240b. I will need to add more tests for std::shared_ptr<T const> before re-landing this.