Type compatibility determines whether a value of one type may be used where another type is expected. A simple type system can define compatibility as equality: two type objects match when their IDs match. Practical systems often use directional assignability instead, where type T is assignable to type U without requiring the reverse. section 13.3
Implementation uses compatibility to:
- Compare type objects by stable IDs rather than JavaScript object identity. section 13.3


