I think we can lose this if/else if we just default 'experiments' to "push" (that way it's never empty, and the default case - repeated pushes - is just a very simple single-experiment list)