!str #16069 disallows using one Keyed sink/source ambiguously (many times)

This can / should wait for Patrik's move-all-the-things PR.
Refs #16069 
I would actually prefer that we use `==` here
in case someone (outside our control) implements a `KeyedSource` without instance equals semantics that would pass this as false but it will blow up (silently) later when putting it into the materialized map