unifies handling of block-level desugarings