Yes, I think this is definitely overkill. This was a quick way to retain the current behavior without breaking too much (let's not forget that RedisModuleRegistry exists but we actually don't use it..)

On the naming side, this comes from unfortunate history: the "Resource" in RMR actually denotes the internal way of resolving the 'thing' (which happens to be a Resource), not the fact that we return a Resource (this has always been the case). Remember this came from FileModuleRegistry -> ResourceModuleRegistry. So I agree this is unfortunate, and this could be just "ModuleRegistry" if the interface did not already have that name.