When connecting tables in a mutation, it requires update access to that table (why?)

When creating a mutation and using “connect” to set table fields, I need to allow update access to that auxiliary table. I’m not mutating the connecting table row, unless I don’t understand “connect”.

What is send on the mutation request. I don’t expect to have set set update access on itemTypes (which type uses).

mutation CreateItem($title: String) {
    itemCreate(
      data: {
        title: $title,
        type: {
          connect: {
            id: \"clsce551w07c009l41uccfg23\"
          }
        },
      }
    }) {
      title
      typeId
      __typename
    }
  }
}

Actually, I’m not sure the difference between connect and reconnect. They seem to do the same thing in the API explorer.