slightly more "fun" than expected thanks to the unsigned int -> size_t change, which requires some other ports to stay in synch