`check` with predicate functions.

Gives the function pattern slot to predicate functions, replacing
`Match.Where`; and replaces the constructor pattern (which was in the
function slot) by `Match.Is`.