public IEnumerable<IBinding> Resolve(IResolverContext context, Type type)
        {
            if (!type.IsGenericType)
            {
                return Enumerable.Empty<IBinding>();
            }

            return context.FindBindings(type.GetGenericTypeDefinition()).Select(b => (IBinding)new Binding(type, new BindingMetadata())
            {
                Provider = new StandardProvider(b.Provider.TargetType.MakeGenericType(type.GetGenericArguments().Where(t => !t.IsGenericParameter).ToArray()))
            });
        }