Add predicated pattern matching