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.