anchor.diff:    clientMutationId: String
   }
   
  -input RenameTodoInput {
  +input RemoveTodoInput {
     id: ID!
  -  text: String!
     clientMutationId: String
   }
   
  
positive.code:   mutation: Mutation
  }
  
  input AddTodoInput {
    text: String!
    clientMutationId: String
  }
  
  type AddTodoPayload {
    viewer: User
    todoEdge: TodoEdge
    clientMutationId: String
  }
  
  input ChangeTodoStatusInput {
    id: ID!
    complete: Boolean!
    clientMutationId: String
  }
  
  type ChangeTodoStatusPayload {
    viewer: User
    todo: Todo
    clientMutationId: String
  }
  
  input MarkAllTodosInput {
    complete: Boolean!
    clientMutationId: String
  }
  
  type MarkAllTodosPayload {
    viewer: User
    changedTodos: [Todo]
    clientMutationId: String
  }
  
  type Mutation {
    addTodo(input: AddTodoInput!): AddTodoPayload
    changeTodoStatus(input: ChangeTodoStatusInput!): ChangeTodoStatusPayload
    markAllTodos(input: MarkAllTodosInput!): MarkAllTodosPayload
    removeCompletedTodos(input: RemoveCompletedTodosInput!): RemoveCompletedTodosPayload
    removeTodo(input: RemoveTodoInput!): RemoveTodoPayload
    renameTodo(input: RenameTodoInput!): RenameTodoPayload
  }
  
  """An object with an ID"""
  interface Node {
    """The id of the object."""
    id: ID!
  }
  
  """Information about pagination in a connection."""
  
negative.code:   endCursor: String
  }
  
  """An edge in a connection."""
  type TodoEdge {
    """The item at the end of the edge"""
    node: Todo
  
    """A cursor for use in pagination"""
    cursor: String!
  }
  
  type Todo implements Node {
    """The ID of an object"""
    id: ID!
    complete: Boolean
    text: String
  }
  
  type Mutation {
    addTodo(input: AddTodoInput!): AddTodoPayload
    changeTodoStatus(input: ChangeTodoStatusInput!): ChangeTodoStatusPayload
    markAllTodos(input: MarkAllTodosInput!): MarkAllTodosPayload
    removeCompletedTodos(input: RemoveCompletedTodosInput!): RemoveCompletedTodosPayload
    removeTodo(input: RemoveTodoInput!): RemoveTodoPayload
    renameTodo(input: RenameTodoInput!): RenameTodoPayload
  }
  
  type AddTodoPayload {
    viewer: User
    todoEdge: TodoEdge
    clientMutationId: String
  }
  
  input AddTodoInput {
    text: String!
    clientMutationId: String
  }
  
  type ChangeTodoStatusPayload {
    viewer: User
    todo: Todo
    clientMutationId: String
  }
  
  input ChangeTodoStatusInput {
    id: ID!
    complete: Boolean!
    clientMutationId: String
  }
  
  type MarkAllTodosPayload {
    viewer: User
    changedTodos: [Todo]
    clientMutationId: String
  }
  
  input MarkAllTodosInput {
    complete: Boolean!
    clientMutationId: String
  }
  
  