pub(super) fn rewrite_logical_to_bandbor(s: &str) -> StringExpand description
Rewrite a && b to band(a, b) and a || b to bor(a, b), preserving
the corpus shape Float && Float (which evalexpr 13 strict-types as
Boolean op Boolean and rejects when the operands come back as Float).
Two-pass with operator-precedence respect: (1) && is rewritten first
(higher precedence in C/EEL2/evalexpr — a || b && c parses as
a || (b && c)), then (2) || is rewritten.