Thanks, Dan. I'm not 100% clear how Union would work for Scala marker
traits. I could see how I'd use them for Message[Alarm], where Alarm is a
first-class object. I've got 2 layers of marker traits in the middle tho:
Message[PayloadKind], where PayloadKind is a trait having no fields, Event
is a trait having no fields that extends PayloadKind, and finally Alarm
(concrete class) extends Event.
I guess for pure Avro you could flatten things to just Message[Alarm], but
this weakens the domain model.
Can you think of a way to use Union types to represent marker traits? My
understanding is Unions can't immediately contain other Unions (i.e. like
Event -> PayloadKind).
On Fri, Sep 8, 2017 at 1:56 PM, Dan Schmitt <[EMAIL PROTECTED]> wrote: