let iteri f bitarray =
  let array = bitarray.array in
  let vlength = bitarray.length / size + if bitarray.length mod size = 0 then 0 else 1 in
  for i = 0 to vlength - 1 do
    let delta = i * size in
    if i = vlength - 1 
    then 
      let modulo = (length bitarray) mod size in
      Array.iteri (fun index x -> if index <= modulo || modulo = 0 then f (delta + index) ((x land array.{i})!=0)) values 
    else 
      Array.iteri (fun index x -> f (delta+index) ((x land array.{i}) != 0)) values; 
  done