This is used for the creation of specific types of Element based on the content
of the Atom.
Many Atoms have specific Type or Subtype fields which are used
to indicate the precise variant of Element.
If these are present, which in many cases they are, then a
sensible choice can be made as to the type of Element to create.
Even when these are not present sometimes it is possible to
detect the type from specific combinations of entries found in the
However not all specializations can be auto-detected as not all
require this type of identification element.
If this is the case then the return value will be a generic