let add_assigns env assigns wp =
    let pid, a_desc = assigns in
    let label = a_desc.WpPropId.a_label in
    let kind = a_desc.WpPropId.a_kind in
    let assigned = a_desc.WpPropId.a_assigns in
    match assigned with
        WritesAny ->
          on_context env "add_assigns" wp Keep_opened
            (Goal_assigns (ref NoAssigns))
            (fun _ _ _ -> F.p_true) (* Nothing to prove *)
      | Writes assigns ->
        match assigns_method () with
          | Mcfg.NoAssigns ->
            Wp_parameters.abort "Unsupported assigns with the model"
          | Mcfg.NormalAssigns ->
            add_normal_assigns env pid label kind assigns wp
          | Mcfg.EffectAssigns ->
            add_effect_assigns env pid label kind assigns wp