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:
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB