This is identical to NegativeThrow::during, can the the code be reused?