I still think most of those users would accept RC instead of GC. Why not support RC in the language, and make all of this library noise redundant? Library RC can't really optimise well, RC requires language support toelide ref fiddling.
I think a library solution + intrinsic for increment/decrement (so they can be better optimized) would be the best option.