code: public static <P> P proxy(Class<P> anyInterface, InvocationHandler defaultHandler) {
      Objects.requireNonNull(defaultHandler, "defaultHandler");
      Assert.ensure(anyInterface.isInterface(), "anyInterface.isInterface()");
  
      Class<?>[] type = {anyInterface, Binding.class};
      InvocationHandler handler = new ProxyHandler(defaultHandler);
      @SuppressWarnings("unchecked")
      P proxy = (P) Proxy.newProxyInstance(loader(), type, handler);
      return proxy;
    }
docs: Creates a proxy instance fo a given type.
  Methods can be bound to functional interfaces using a {@link ProxyBinding.MethodBinder}.
  
  @param anyInterface an interface
  @param defaultHandler default behaviour for interface methods
  @param <P> the interface type
  @return a new instance