we want to decref iff `numChunks > 1`, which is a little awkward because we need to pass `theValue` to the second function _and then_ decref it, which in turn needs a temporary variable and we don't have a real scope.  unless ANSI C (or at least whatever compiler we use in practice) treats `if` as introducing a scope.

we could turn this into just a real (inline) function but i seriously don't want to mess with this terrible code any more than is absolutely necessary