just to clarify: there is no loop since the array is a bits type. Otherwise the else clause calls into io.jl line 125:
function read!{T}(s::IO, a::Array{T})
for i = 1:length(a)
a[i] = read(s, T)
end
return a
end
which does include a for loop.
So I guess its smart to use bit-type arrays when dealing with IO
