Program Instance Linker_composite_defs : Linker (list composite_definition) := {
  link := link_composite_defs;
  linkorder := @List.incl composite_definition
}.

Lemma add_composite_definitions_append: forall l1 l2 env env'', add_composite_definitions env (l1 ++ l2) = OK env'' <-> exists env', add_composite_definitions env l1 = OK env' /\ add_composite_definitions env' l2 = OK env''.