I think we should handle this iteration more intelligently, it hsouldn't be legal to pass `data = [1, 2, 3, "abc"]`