C++11/14/17 std::expected with functional-style extensions
