Could the resolver protocol use generic variadic arguments to avoid the limit of max arguments as currently exists? something like so.. func resolve<Service, Args...>(_ serviceType: Service.Type, arguments: Args...) -> Service?