avoid infinite regress in __getattr__