docs: def wait(predicate, interval=1, message=lambda: "Waiting..."):
      """Wait until the predicate turns true and display a turning ball."""
      ball, next_ball = u"|/-\\", "|"
      sys.stdout.write("    \033[K")
      sys.stdout.flush()
      while not predicate():
          time.sleep(1)
          next_ball = ball[(ball.index(next_ball) + 1) % len(ball)]
          sys.stdout.write("\r " + str(message()) + " " + next_ball + " \033[K")
          sys.stdout.flush()
      print("\r Done. \033[K")
      sys.stdout.flush()