code: func FieldHook(f FieldHookFunc) Option {
  	return func(o *options) {
  		o.FieldHooks = append(o.FieldHooks, f)
  	}
  }
docs: // FieldHook registers a hook to be called when a struct field is being
  // decoded by the system.
  //
  // This hook will be called with information about the target field of a
  // struct and the source data that will fill it.
  //
  // Field hooks may return a value of the same type as the source data or the
  // same type as the target. Other value decoding hooks will still be executed
  // on this field.
  //
  // Multiple field hooks may be specified by providing this option multiple
  // times. Hooks are exected in-order, feeding values from one hook to the
  // next.