Wrestling with type system over polymorphic publisher...