Loads of additions, improvements and fixes.
Measuring it is always the best way, but I'd expect using arrays to be much more efficient than tokenat() in some circumstances.
Thank you :)