...
Step-by-step, how to understand the describe() function example
(assuming I understand this, which is an if, a small if, but an if nonetheless)
Part A
We can implement methods directly on shared reference types themselves. There is no deref coercion then when called on a shared reference that is of that shared reference type (playground)
In a sense then the method implemented, when called on a shared reference, takes ownership of the shared reference, per se, not the value the shared reference points to.
...