VUAR, chapter 22 (Type checking), page 369 Consider an export-valid call of target `target' and feature name `fname' appearing in a class `C'. (For an Unqualified_call take `target' to be `Current'.) Let `ST' be the type of `target', `S' the base class of `ST', and `sf' the feature of final name `fname' in `S'. Let `D' be a descendant of `S', and `df' the version of `sf' in `D'. The call is argument-valid for `D' if and only if it satisfies the following four conditions: 1 The number of actual arguments is the same as the number of formal arguments declared for `df'. 2 Every actual argument, if any, conforms to the the corresponding formal argument of `df'. 3 If `target' is itself a Call, it is (recursively) argument-valid for `D'. 4 If any of the actual arguments is of the Address form `$ fn', `fn' is the final name of a feature of `C' which is not a constant attribute.