curried built-in operators
implement pattern guard