VGCC, chapter 18 (Creating objects), page 286

     Creation Instruction rule

     Consider a Creation instruction appearing in a  class
     `X'.   Let  `x' be the target of the instruction, `T'
     its creation type, and `C' the base class of `T'.

     The instruction is class-valid  if  and  only  if  it
     satisfies the following conditions:

        1 `T' is not a  Formal_generic_name  (that  is  to
          say,  a  formal parameter of the class where the
          instruction  appears),  then  the  corresponding
          formal generic parameter has  a  Constraint part
          with a Generic_creators  part, and  the creation
          instruction has a Creators part whose feature is
          one of the procedures listed (as per  rule VTCC,
          page 201) listed in  the  Generic_creators part.
          Cases   2   at   6   assume  that  T  is  not  a
          Formal_generic name.

        2 `C' is an effective class.

        3 If the Type part is present, the  type  that  it
          contains  (which is `T') conforms to the type of
          `x'.

        4 If `C' does not have a Creators part,  there  is
          no Creation_call part.

        5  If  `C'  has  a  Creators  part,  there  is   a
          Creation_call   part,  and  the  call  would  be
          argument-valid if it appeared  in  the  text  of
          `C'.

        6 If case 5 holds and `f' is the  feature  of  the
          Creation_call,  then  `f'  is  a  procedure, its
          Routine_body is not of the once... form, and `f'
          is available for creation to `X'.

     In addition, `x' must be writable. This is handled in
     book by the syntax of Writable (p. 276). ISE Eiffel
     treats the corresponding error as violation of VGCC7.
