regarding fragmentation: is it reasonable to assume that pre-allocating larger chunks of memory and sub-dividing them yourself will prevent memory fragmentation, with the side-effect of having More Code?
use hash tables to optimise the list-walking? write a better sms instance, one that isn't 'trivial'? luke
