Rust 1.12 now supports coercing values of type T to type Option<T>! https://github.com/rust-lang/rust/pull/34828 Introduces some interesting API possibilities.