let compose_actions map1 map2 =
  let map = 
    Cil_datatype.Term.Map.fold (compose_bindings map1)
      map2 Cil_datatype.Term.Map.empty
  in
  Cil_datatype.Term.Map.fold
    (fun elt bind map -> 
      if Cil_datatype.Term.Map.mem elt map2 then map
      else Cil_datatype.Term.Map.add elt bind map) map1 map