DIGIT-LENGTH-LIMIT is a closed-over variable in FAIL. SBCL constraint propagator does not consider local function calls (except for LET calls) to be control transfers and so does not see that CHECK-TYPE in WRITE-RATIO-AS-FLOATING-POINT dominates usage of DIGIT-LENGTH-LIMIT inside FAIL.
DIGIT-LENGTH-LIMIT is a closed-over variable in FAIL. SBCL constraint propagator does not consider local function calls (except for LET calls) to be control transfers and so does not see that CHECK-TYPE in WRITE-RATIO- AS-FLOATING- POINT dominates usage of DIGIT-LENGTH-LIMIT inside FAIL.