Change the goto elimination to make it a bit simpler, after reviewing for the Uniplate talk