Add Match.InstanceOf

Predicate functions must return a boolean `true` or `false`, which
protects against accidentally using a constructor as a predicate
function.