Re-implemented desugaring of data -> type in a stepwise fashion