Fix optional.hh
Since VS 2017 did not allow deconstructor calling behind overloaded operator, call the reinterpret cast manually before deconstructing.
Since VS 2017 did not allow deconstructor calling behind overloaded operator, call the reinterpret cast manually before deconstructing.