Tryst::BackgroundMessage
Custom worker<->main messages are String-only, not generic like Data/Result - ruby-tryst's message payloads are untyped (any Ruby object), but every real call site (including its own test suite) only ever sends plain strings; a third generic type parameter for this rarely-used channel wasn't worth the added ceremony every BackgroundWork call site would otherwise carry.