Domains are represented by records (see Records), which are called domain records in the following. Which components need to be present, which may, and what those components hold, differs from category to category, and, to a smaller extent, from domain to domain. It is generally possible though to distinguish four types of components.
Each  domain record  has  the component isDomain,  which  has the value
true.  Furthermore,  most domains also have  a component that specifies
which category this  domain belongs to.  For  example, each group has the
component isGroup, holding the   value  true.  Those components   are
called  the category  components of  the  domain record.  A domain that
only has  the  component  isDomain is  a  member  only of the  category
Domains and only the functions described in this chapter are applicable
to such a domain.
Every domain record also contains enough information to identify uniquely
the domain in the   so called identification components.   For example,
for a  group the domain record,  called group record  in this case, has a
component called generators containing a system of generators (and also
a component identity holding the identity element  of the group, needed
if the generator list is empty, as is the case for the trivial group).
Next the domain record holds all the knowledge GAP has about the domain, for example the size of the domain, in the so called knowledge components. Of course, the knowledge about a certain domain will usually increase as time goes by. For example, a group record may initially hold only the knowledge that the group is finite, but may end holding all kinds of knowledge, for example the derived series, the Sylow subgroups, etc.
Finally  each   domain  record has    a component,  which  is called  its
operations   record  (because  it   is   the component  with  the  name
operations and it holds a record), that tells functions like Size how
to  compute this  information  for this domain.   The exact  mechanism is
described later (see Dispatchers).
GAP 3.4.4