The :atom field now contains a representation for all possible
atom types. The representation is a pair `{type, set}` where `set`
is a set of atoms. If `type` is `:union` it represents the union
of the atoms in `set`. If `:negation` it represents every atom
except those in `set`.
`boolean()` is defined as the singletons true, false.