Rename `defselector` to `defrule`, document, and test