Removed implicit cast from Option<T> to Some<T>, it just makes the guarantees weaker, so what's the point?