I think this should take a List<Element> and we should remove all of the __ToAll methods