Thread.Root<Thread.Root> sets up thread context for child components like <Thread.Messages> and <Thread.MessageForm>.<Thread.Root> component:variablesvariables, these things happen:variables are merged into all child Superinterface query and mutation keys as the
second parameter (e.g. const [keyBase, { threadId }] = queryKey and
const [keyBase, { threadId }] = mutationKey). This allows you to use
variables in all child queryFn functions.variables are merged into all child Superinterface mutation variables. This
allows you to use variables in all child mutationFn functions.