code: def visit_tuple(self, node, visited_children):
      ttuple, _, paren, [maybe_types], paren = visited_children
      if not maybe_types:
          return types.ttuple()
      else:
          [first, rest] = maybe_types
          return types.ttuple(first, *(t for comma, t in rest))
  
imports: from parsimonious import Grammar, NodeVisitor
  from hail.expr.nat import NatVariable
  from .None import types
  from hail.utils.java import unescape_parsable
label_desc: Use image node_id 19 for calling the TypeConstructor obj's underlying member method code with example usage: obj.visit_tuple(node, visited_children) and returns: types, types