```fsharp let _ = match obj() with | x -> () | _ -> () | _ -> () ``` results with proper warnings:  However, if an active pattern is used in match expression, there are no warnings at all: ```fsharp let (|AP|_|) x = Some() let _ = match obj() with | AP -> () | _ -> () | _ -> () ``` 