1. a value `v` such that, for some pure binary function `f` (specified by context), `v === f(v, v)`
2. a pure binary function `g` such that, for all values `x`, `x === g(x, x)`
3. a pure unary function `h` such that, for all values `x`, `h(x) === h(h(x))`. Often this is formed as a partial evaluation of a binary function, as a relaxation of the previous kind.
4. a (non-pure) procedure that, when called with "the same" arguments (FSVO same), has no side-effects after the first time.
5. a binary relation `R` such that, for all values `x, z`, `R(x, z) <-> there exists some y such that R(x, y) AND R(y, z)`
(Edit: note before I clarified my variable names `v` used to be another `x`, and `g` and `h` both used to be another `f`)