propagate size_t errors

Continue with the progress of removing error recovery code and replacing it with error propagation code, this time for ::size()