Tach!
Ich würde bei ~FALSE genau TRUE erwarten, (-1) wäre auch Ok, selbst ein RECOVERABLE_ERROR wäre Ok.
Warum erwartest du das?
Weil das schlicht konsequent wäre!?
All das macht keinen bis wenig Sinn und führt zu keinen Fehlern:
~INF
~NAN
FALSE << TRUE
FALSE & TRUE
~'123'
Letzteres ist sogar gewollt!