The problem with that is that it means that (vector= = ...) cannot be expected to have the semantics expected from = when one or more elements of the argument vectors might be +nan.0.When using the sample implementation of (srfi 133):(let ((v #(+nan.0))) (vector= = v v)) ==> #t(let ((v #(+nan.0))) (vector= = v (vector-copy v))) ==> #t
So, one workaround is to tell the users, "don't use =, use eqv? -- you'll get the same results, but then they'll be correct!" <sigh>