pub(crate) type LazyResult<T> = LazyCell<Result<T, Error>>;
struct LazyResult<T> { contents: UnsafeCell<Option<Result<T, Error>>>, }
contents: UnsafeCell<Option<Result<T, Error>>>