Effect Response Serializer
Custom polymorphic serializer for EffectResponse that preserves the "type" field as a property.
The Horizon API uses the "type" field for both:
Type discrimination (which subclass to deserialize)
A regular data property that applications need
Standard kotlinx.serialization polymorphic mechanisms don't support this dual use. This custom serializer reads the "type" field to determine the subclass while preserving it in the deserialized object.