It took me a minute to realize coffeeTeaAutomaton only works when OverloadedLists is on. Requiring the extension runs the risk of breaking other code in a module (just happened to me), which is not ideal.
Feature request : Can we have smart constructors for Symbol ? e.g.
symbol :: a -> Label a
symbol = Symbol
and
symbols :: Foldable t => t a -> Label a
symbols = foldr ((<>) . Symbol) Zero