std::result::Result<T, E>

TODO: These docs need to be expanded