add flag to control the desugaring process; 1st attempt; many things need reconsider.