__getattr__ is only called for attributes that don't exist; callers should never purposely see the private __* symbols, so we don't need to check for them.