I agree with Dream, what Fabian is doing is in fact a "Hack", of which I am quite happy to use. However because it is a hack it has the advantage of non of the boundary Checks being made, and is therefore faster.
If you cannot keep track of the boundary yourslf use :string, if you can and you want the speed advantage of the system not keep track of boundary then use string/array
If you cannot keep track of the boundary yourslf use :string, if you can and you want the speed advantage of the system not keep track of boundary then use string/array