Conditionally further constrain a generic parameter: if <T: Constrained> { ... }

There were quite a few different examples of the where clause here and there, which makes me wonder if the extension I'm proposing here touches some of your general ideas?

switch someCase {
case where type(of: x) : Equatable in .a(let x), .b(let x):
  ...
}