My previous question still applies: why do you need the special filter here, where the other functions simply pattern match on `matches` directly?