Fix #894: Add conversions for UndefOr

No `fold` is OK. I did not realize in my first comment that `v => v` was in fact *not* an identity, due to the implicit conversion from `T` to `UndefOr[T]`.