enum Result[T, E] { ... }
impl [T, E; Fork[T], Fork[E]]: Fork[Result[T, E]];
impl [T, E; Drop[T], Drop[E]]: Drop[Result[T, E]];
impl [T, E; Fork[T], Fork[E]]: Fork[Result[T, E]];
impl [T, E; Drop[T], Drop[E]]: Drop[Result[T, E]];
impl [T, E; Show[T], Show[E]]: Show[Result[T, E]];
enum Result[T, E] { ... }
enum Result[T, E] { ... }
fn map[T, U, E, F; Drop[F], Fn[F, (T,), U]](self: Result[T, E], f: F) -> Result[U, E];
fn as_ref[T, E](self: &Result[T, E]) -> Result[&T, &E];
fn flatten[T, E](self: Result[Result[T, E], E]) -> Result[T, E];
fn flat_map[T, U, E, F; Drop[F], Fn[F, (T,), Result[U, E]]](self: Result[T, E], f: F) -> Result[U, E];
fn or_result[T, E; Drop[T], Drop[E]](self: Result[T, E], default: Result[T, E]) -> Result[T, E];
fn or_use[T, E; Drop[T], Drop[E]](self: Result[T, E], default: T) -> T;
fn assume[T, E; Show[E]](self: Result[T, E]) -> T;