code: func (s *Scrubber) methods(rv reflect.Value, path Path, callbacks map[string]Path) {
  	for i := 0; i < rv.NumMethod(); i++ {
  		if rv.Type().Method(i).PkgPath == "" { // exported
  			cb, ok := rv.Method(i).Interface().(func(*Partial))
  			if !ok {
  				continue
  			}
  
  			name := rv.Type().Method(i).Name
  			name = strings.ToLower(name[0:1]) + name[1:]
  			s.register(cb, append(path, name), callbacks)
  		}
  	}
  }
docs: // methods walks over a structure and scrubs its exported methods.