The tool herd pre-defines the relation ⁠loc that relates Effects operating on the same location and implements the usual operators on relations. In particular, cat implements the intersection operator over relations, written with an infix “&”. As a consequence, the relation ⁠po⁠-⁠loc, program order restricted to Effects operating on the same location, can be defined as follows:

let po-loc = po & loc