checkpoint_superseded(
saver: BaseCheckpointSaver,
config: RunnableConfig,
saved: CheckpointTuple
) -> boolWhether the thread has moved past saved, the checkpoint config addressed.
A checkpoint with a child is never the latest put, so this misses none. A leaf of an abandoned branch counts as well; telling it apart would mean listing the thread to look for children, which the saver can't do cheaply.