This ameliorates some of the drawbacks of implicit subtyping. 86, Hutchinson 87, Hutchinson et al. Types in Emerald are arranged in a subtype lattice, however. Although Rapide does not support multi-methods and relies on implicit subtyping, many other design goals for Rapide are similar to those for Cecil. Some more recent languages support some means for distinguishing subtyping from inheritance.
Several languages support some form of mixed static and dynamic type checking.
Any expression may be assigned to a variable of type any , but any assignments of an expression of type any to an expression of another type must be explicitly coerced using the parameterized force procedure.