Explicitly handle non-array values masquerading as arrays.

  (* Build a type of ints masquerading as arrays *)
  let array_view = view int
     ~read:(fun _ -> Array.make char 0) ~write:(fun _  -> 0)

  (* Build an array of array_views *)
  let a = Array.from_ptr (allocate_n array_view ~count:1) 1

  (* Coerce the array of "arrays" to a Bigarray.Array2.t *)
  let _ = bigarray_of_array array2 Bigarray.char a