let rec compile_transitions transitions state_name env = 
  match transitions with
      cur::rest -> 
        let cur_result, cur_env, targ_ids = compile_transition cur state_name env in
        let rest_result, rest_env, id_list = compile_transitions rest state_name cur_env in
          cur_result @ rest_result, rest_env, targ_ids @ id_list
    | [] -> [], env, []