let rec sizeof = function
 | C_comp cinfo ->
     List.fold_left
       (fun sz f -> add sz  (sizeof (object_of f.ftype))) zero cinfo.cfields
 | C_array ainfo ->
     begin
       match ainfo.arr_flat with
         | Some a -> mul
             (sizeof (object_of a.arr_cell))  (F.e_int (Int64.to_int a.arr_cell_nbr))
         | None -> WpLog.not_yet_implemented "Sizeof unknown-size array"
     end
 | _ -> one