code: public SmartBinder spread(String[] spreadNames, Class<?>... spreadTypes) {
          return new SmartBinder(this, signature().spread(spreadNames, spreadTypes), binder.spread(spreadTypes));
      }
docs: Spread a trailing array into the specified argument types.
  
  @param spreadNames the names for the spread out arguments
  @param spreadTypes the types as which to spread the incoming array
  @return a new SmartBinder with the spread applied