Finished GADT version of Matt's deletion function.