Should we add a better contract on the first arg given the new unsafe ops on the elements in it?