What do you mean, "the OS as a whole"? This is the OS!
niri msg action focus-window --id $(niri msg --json windows | jq '.[] | select(.app_id=="foot") | .id') xrandr --setmonitor DisplayPort-0-0 1280/297x1440/340+0+0 none
xrandr --setmonitor DisplayPort-0-1 2560/595x1440/340+1280+0 none
xrandr --setmonitor DisplayPort-0-2 1280/297x1440/340+3840+0 none type Option T = Some T | None
type Nullable T = T | null
The difference here is that Option "tags" each part of its union, which guarantees that the parts are disjoint. In Nullable, the parts of the union are disjoint only if T is not itself nullable. If T is S | null, Nullable T is S | null | null, which is just S | null (since null and null are not disjoint.