Introduce ds::Expected as a more sage alternative to std::optional that carries error in failed state.