-- CL_cff
-- unlike the paper, we use switch instead of nested if
cff_trans_blks :: Bool -> -- ^ is return void
                  S.Set Ident -> -- ^ local vars
                  S.Set Ident -> -- ^ formal args
                  ContextName -> 
                  Ident ->  -- ^ top level function name
                  M.Map Ident LabeledBlock ->  -- ^ KEnv
                  [(Ident, LabeledBlock)] -> -- ^ [(label, { phi ; s })]
                  [AST.CCompoundBlockItem N.NodeInfo]
cff_trans_blks isVoid localVars formalArgs ctxtName fname kenv [] = []
cff_trans_blks :: Bool -> -- ^ is return void
                  S.Set Ident -> -- ^ local vars
                  S.Set Ident -> -- ^ formal args
                  ContextName -> 
                  Ident ->  -- ^ top level function name
                  M.Map Ident LabeledBlock ->  -- ^ KEnv
                  [(Ident, LabeledBlock)] -> -- ^ [(label, { phi ; s })]
                  [AST.CCompoundBlockItem N.NodeInfo]
cff_trans_blks isVoid localVars formalArgs ctxtName fname kenv [] = []
cff_trans_blks isVoid localVars formalArgs ctxtName fname kenv [] = []