Shouldn't we enforce `array` here?