let do_next_step =
    let config1 = ref !configuration in
    let config2 = ref (Array.copy !configuration) in
    let switch  = ref true in
  fun () ->
    let config_present, config_next =
      if !switch then !config1, !config2 else !config2, !config1 in
    switch := not !switch;
    Synchro.next_step tr config_present config_next;
    configuration := config_next