expr.spad line 921 [edit on github]
Attaching predicates to symbols for pattern matching. Date Created: 21 Mar 1989
suchThat(x, [f1, f2, ..., fn]) attaches the predicate f1 and f2 and ... and fn to x. Error: if x is not a symbol.
suchThat(x, foo) attaches the predicate foo to x; error if x is not a symbol.