How does the messages reducer in LangGraph handle message updates — why can you append, replace, or delete messages by ID? | Messages | langchain Interview Questions | NextRound.in