query parseText($input: String!) {
  result: callNLU(input: $input) {
    noun_chunks {
      text
      lemma

      subtree {
        dependency
        entity_type
        lemma
        normalized
        part_of_speech
        tag

        subtree {
          dependency
          entity_type
          lemma
          normalized
          part_of_speech
          tag

          subtree {
            dependency
            entity_type
            lemma
            normalized
            part_of_speech
            tag

            subtree {
              dependency
              entity_type
              lemma
              normalized
              part_of_speech
              tag
            }
          }
        }
      }
    }
    entities {
      text
      lemma

      subtree {
        dependency
        entity_type
        lemma
        normalized
        part_of_speech
        tag

        subtree {
          dependency
          entity_type
          lemma
          normalized
          part_of_speech
          tag

          subtree {
            dependency
            entity_type
            lemma
            normalized
            part_of_speech
            tag

            subtree {
              dependency
              entity_type
              lemma
              normalized
              part_of_speech
              tag
            }
          }
        }
      }
    }
    sentences {
      text
      lemma

      subtree {
        dependency
        entity_type
        lemma
        normalized
        part_of_speech
        tag

        subtree {
          dependency
          entity_type
          lemma
          normalized
          part_of_speech
          tag

          subtree {
            dependency
            entity_type
            lemma
            normalized
            part_of_speech
            tag

            subtree {
              dependency
              entity_type
              lemma
              normalized
              part_of_speech
              tag
            }
          }
        }
      }
    }
  }
}

# FIXME: Unfortunately, fragments are not supported by either codegen framework

# fragment SubtreeFields on NLUToken {
#   dependency
#   entity_type
#   lemma
#   normalized
#   part_of_speech
#   tag
# }
#
# fragment Subtree on NLUSpan {
#   subtree {
#     ...SubtreeFields
#     subtree {
#       ...SubtreeFields
#       subtree {
#         ...SubtreeFields
#         subtree {
#           ...SubtreeFields
#         }
#       }
#     }
#   }
# }
