Better error
Check size so throw early
Fix creating empty tempfiles without a length and then passing into PartiallyReceivedBulk (API change, we enforce length now)