Hah, I first thought it looks like a bug too, but it is actually meant like that. I agree, it is non-obvious why this should be right, but of course I am convinced it is ;). The is this an example of why:
```
def filter_subarrays_with_large_sum(array, large):
    """
    arrays : ndarray {..., N}

    out : ndarray {1, N}
    """
    large_sum = array.sum(-1)
    return array[large_sum >= large]
```
With this change, the result will consistently add one dimension even if `array` is one dimensional and the 0-d change is the same. No dimension is removed (boolean index is 0-d) but as always one dimension is added. That said, it might be a large change.