c7e0724274
This is *heavily* based on `if let` (#17634) by @jakub- and @kballard This should close #17687
This is *heavily* based on `if let` (#17634) by @jakub- and @kballard This should close #17687