Run the iterable of State's in sequence
IList<Tuple2<dynamic, S>> sequence(Iterable<State<S, dynamic>> arr) => arr.map(run).toIList();