Can a Type extend multiple types?


I know a type can mixin multiple types (i.e. type Foo mixes MetricEvaluatable, WeatheAware), but can a type “extends” multiple types? I’ve only seen examples of types extending (using the extends keyword) a single type as illustrated below.

type ClaimCount extends MapReduce<CoveredMember, string, int, StrIntPair> type key ‘CC’ { … }



My understanding is that you can only extend a single “extendable” type. As for mixes, you can mix multiple types only if they are abstract types. Extends is just a special way of saying mixes, specifically for persistable types.

When you extend a type, you are actually just defining a set of extended fields that are stored in the table of the type you are extending. This might explain why you can only extend 1 type, because more than 1 type would raise the question “where is my extended type being stored”?