def _multi_blockify(tuples, dtype=None):
<EOL>grouper = itertools.groupby(tuples, lambda x: x[<NUM_LIT:2>].dtype)<EOL>new_blocks = []<EOL>for dtype, tup_block in grouper:<EOL><INDENT>values, placement = _stack_arrays(list(tup_block), dtype)<EOL>block = make_block(values, placement=placement)<EOL>new_blocks.append(block)<EOL><DEDENT>return new_blocks<EOL>
return an array of blocks that potentially have different dtypes