compile fix on MSVC #include optional.hpp