If you have an ext encoder for a distinct int type (as is often used for "enums" in Go), then the encoder will still encode it as if it is a regular int instead of encoding it with the ext encoder you specified
Same thing goes for a slice of that particular type. It will not use the encoders for that slice type.