basics of data desugaring, and fixes for object desugaring