Fix #12285

Unit-like struct patterns are irrefutable, no need for a branch.

And some cleanup while I'm at it.