satisfies (TS 4.9+) checks that a value conforms to a type without widening the value's inferred type. It validates against a constraint while keeping the precise, literal type for later use — the best of annotation and inference.
The problem it solves
ts
= <, | >;
: = { : , : };
a..();
b = { : , : } ;
b..();
b..();
