Programs are now modelled using lists rather than sets as we need to be
able to equate them with Leibniz equality for the reification.