code: func (p *Params) Bind(dest interface{}, name string) {
  	value := reflect.ValueOf(dest)
  	if value.Kind() != reflect.Ptr {
  		paramsLogger.Panic("Bind: revel/params: non-pointer passed to Bind: " + name)
  	}
  	value = value.Elem()
  	if !value.CanSet() {
  		paramsLogger.Panic("Bind: revel/params: non-settable variable passed to Bind: " + name)
  	}
  
  	// Remove the json from the Params, this will stop the binder from attempting
  	// to use the json data to populate the destination interface. We do not want
  	// to do this on a named bind directly against the param, it is ok to happen when
  	// the action is invoked.
  	jsonData := p.JSON
  	p.JSON = nil
  	value.Set(Bind(p, name, value.Type()))
  	p.JSON = jsonData
  }
docs: // Bind looks for the named parameter, converts it to the requested type, and
  // writes it into "dest", which must be settable.  If the value can not be
  // parsed, "dest" is set to the zero value.