The generator produces for the optional double the following code: ```rust if value == f64::NAN { None } else { Some(value) } ``` But the comparison `if value == f64::NAN` is always `false`, it needs to use `if value.is_nan()` instead.