The article doesn’t actually explain how they work… How does the indirect pointer get set to nil? Does it use runtime.SetFinalizer?
https://cs.opensource.google/go/go/+/master:src/runtime/mhea...
Looks like most of it is implemented directly in the runtime.