Frees what the case allocated and resets temporary storage. Call it after every case.
case_end :: (r: *Rng)