Should probably only catch `case NonFatal(e)`? If Throwable is needed, it should be documented so it doesn't get reverted.