Type System Lattice (TypeScript-like)
Top (any/unknown) → primitives → bottom (never) lattice.
Rendering…
Make it your own.
digraph tl {
rankdir=BT;
graph [bgcolor=transparent];
node [shape=box, style="rounded,filled", fontname=Inter, fontsize=10];
Never [label="never (⊥)", fillcolor="#fee2e2"];
Num [label="number"];
Str [label="string"];
Bool [label="boolean"];
Null [label="null"];
Undef [label="undefined"];
Obj [label="object"];
Unkn [label="unknown"];
Any [label="any (⊤ — escape hatch)", fillcolor="#fef3c7"];
Never -> Num; Never -> Str; Never -> Bool; Never -> Null; Never -> Undef; Never -> Obj;
Num -> Unkn; Str -> Unkn; Bool -> Unkn; Null -> Unkn; Undef -> Unkn; Obj -> Unkn;
Unkn -> Any;
}