note that we didn't yet implement negative patterns