Peep this:
test :: Bool -> ()
test = _
Running auto produces
test :: Bool -> ()
test False = ()
test True = ()
We penalize unnecessary case matches AND unused bindings. So the search is cheating by making an unnecessary case match that doesn't introduce any new bindings.