I'm probably missing something, but how is this data ever used? I think the intention is to pass it back within `data`, but I'd expect a construct like `*bs = …` in that case.