VSRC, chapter 3 (The  architecture  of  Eiffel  software),
  page 36

     Root Class rule

     A class `C' may be used as root of a  system  if  and
     only if it satisfies the following two conditions:

        1 `C' is not generic.

        2 `C' is not deferred.

        3 Any creation procedure  of  `C'  has  either  no
          formal  argument, or a single formal argument of
          type `ARRAY [STRING]'.
