Named tensors: why don't contracting operations check the dimension names?

I discovered this documented behaviour in the REPL: when matrix-multiplying two tensors with incompatible names (but compatible dimensions), it just works.

I thought the point of named tensors was to check for correct behaviour at runtime. Why aren’t the names checked here?