(if (values #f) #t #f)
=> #f
(if (values #f #f) #t #f)
=> #t
I was surprised to discover this. Although technically not a bug since the scheme spec considers this situation unspecified, it makes using multiple-values unreliable. This affects pp as well
(pp (values #f #f))
=> #<unknown>
Arthur