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 = true} else acc