Turns out that needed to be a list after all. Also clean up Multicaster::gather().