Why the extra array construction?