Updates after Seb's feedback (mainly replaced MCError->add() with ctxt.LegacyThrow())