generalize ILoader.Load return type