let translate_program_to_il0 p = 
  List.map
    (function
        CTTdeclFunction (gs,ct,id,args,body) ->
          IL0declFunction(gs,ct,id,args,replace_label body)
      |        CTTdeclVariable (gs,ct,id,init) ->
          IL0declVariable(gs,ct,id,Option.map translate_initializer init))
    p