when encoding a struct field with an `interface{}` or `any` type, using a type that implements Encoder is not respected It seems that only the field type in the struct is checked for Encoder interface, and not the value of the field. Playground: https://go.dev/play/p/VTG-X_HgunK