Used compositional std::result::Result API