%% title = "NaNs should crash the program"

% id = "01HPEMVAH97PDHJJS70SKG5VMN"
- any time I see a NaN I cry inside knowing how much pain debugging it's gonna be.

% id = "01HPEMVAH9Y3W35Y6Z4QMCJ5QM"
- I'd rather have the program crash and burn at the point a `NaN` is produced rather than have to sift through all the math to find that one division by zero I didn't account for

% id = "01HPEMVAH9XG3RK62RFXD29RWV"
- this does influence performance negatively, but it saves _so much_ debugging pain and finding out which non deterministic scenario causes a NaN to propagate through the system

    % id = "01HPEMVAH9CKAEQBMC8S6MR0GQ"
    - worst case scenario you pull a Rust and disable those checks on release mode. that _does_ work, but I don't like the idea of disabling numeric safety checks on release mode either.