This doesn't look right. If we just malloc block_size // 8, there's not enough bytes for this. Probably no slicing is needed at all? just `buffer(...)[:]`?