1Detail the 3 pillars of LangGraph: Typed State schemas (with Reducers), Nodes (executors), and Edges (transitions)?
2How do State Reducers (e.g., `Annotated[list, operator.add]`) enable incremental list appending instead of destructive overwrites?
3How does Checkpointer persistence (PostgresSaver) achieve fault-tolerant workflow resumption from exact failure nodes?
4Explain the mechanics of `interrupt_before`/`interrupt_after` and Time Travel state modification in Human-in-the-Loop workflows?
5Compare LangGraph vs AutoGen vs CrewAI across graph control granularity, deterministic constraint enforcement, and maintainability?