~expected()
 {
     if ( has_value ) contained.destruct_value();
     else             contained.destruct_error();
 }