formal_derived_type_definition ::= [ "abstract" ] "new" subtype_mark [ "with" "private" ]
This rule is called by -> formal_type_definition
-> formal_type_definition