'Stack two :class:`Dataset` instances together by
joining at the row level, and return new combined
``Dataset`` instance.'

def stack(self, other):

    if (not isinstance(other, Dataset)):
        return
    if (self.width != other.width):
        raise InvalidDimensions
    _dset = copy(self)
    rows_to_stack = [row for row in _dset._data]
    other_rows = [row for row in other._data]
    rows_to_stack.extend(other_rows)
    _dset._data = rows_to_stack
    return _dset
