application of overloaded 'operator ->' is recursive through type 'type'
A redefinition of the class member access operator (
->) contained a return statement that was recursive.
To use recursion in a redefinition of the class member access operator, move the recursive routine to a separate function that is called from the operator override function.