code: public SmartBinder prepend(String[] names, Class<?>[] types, Object... values) {
          return new SmartBinder(this, signature().prependArgs(names, types), binder.prepend(types, values));
      }
docs: Prepend the given arguments to the argument list, assigning them the
  given name.
  
  @param names  the names of the new arguments
  @param types  the types to use in the new signature
  @param values the values of the new arguments
  @return a new SmartBinder with the prepend applied