// In header: <boost/yap/algorithm.hpp> template<typename T> decltype(auto) value(T && x);
Forwards the sole element of x to the caller, possibly calling
deref() first if x is a reference expression, or forwards x to the caller unchanged.
If x is not an expression, x is forwarded to the caller.
Otherwise, if x is a reference expression, the result is
Otherwise, if x is an expression with only one value (a unary expression or a terminal expression), the result is the forwarded first element of x.
Otherwise, x is forwarded to the caller.