Solved by tom in post #2 
              
              
                You can dereference it (*input2)  if it .has_value() is true). 
As far as I can tell, these type of utility interfaces usually designed to be compatible with the usual (here  std::optional, interfaces) but is duplicated to avoid implementation quirks with older (?) c++ compilers. 
Best regards 
Thom…