code: func deInterface(v reflect.Value) reflect.Value {
  	if v.Kind() == reflect.Interface && !v.IsNil() {
  		v = v.Elem()
  	}
  	return v
  }
docs: // deInterface returns values inside of non-nil interfaces when possible.
  // This is useful for data types like structs, arrays, slices, and maps which
  // can contain varying types packed inside an interface.