let add_assigns acc kind id a_desc =
  let take_assigns () =
    debug "take %a %a" WpPropId.pp_id_name id WpPropId.pp_assigns_desc a_desc;
    WpPropId.mk_assigns_info id a_desc
  in
  let info = acc.info in
  let goal, info = match kind with
    | Ahyp -> false, {info with a_hyp = take_assigns ()}
    | AcallHyp -> false, {info with a_call = take_assigns ()}
    | Agoal -> true, {info with a_goal = take_assigns ()}
    | _ -> Wp_parameters.fatal "Assigns prop can only be Hyp or Goal"
  in let acc = { acc with info = info } in
    if goal then { acc with has_asgn_goal = trueelse acc