is this a dupe of my remove_array_dispatch branch