let integer_of_data k d : integer F.term =
match d with
| Data d ->
begin
match k with
| Kint | Kcint _ -> F.unwrap d
| k -> WpLog.fatal ~current:true "not an integer (%a : %a)" F.pp_term d pp_kind k
end
| Value v -> integer_of_value v
| _ -> WpLog.fatal ~current:true "not an integer (%a)" pp_data d