code: def typedef_handle(self, tokens):
          
          if len(tokens) == 1:  # return typedef
              if self.target.startswith("3"):
                  return " -> " + self.wrap_typedef(tokens[0]) + ":"
              else:
                  return ":\n" + self.wrap_comment(" type: (...) -> " + tokens[0])
          else:  # argument typedef
              if len(tokens) == 3:
                  varname, typedef, comma = tokens
                  default = ""
              elif len(tokens) == 4:
                  varname, typedef, default, comma = tokens
              else:
                  raise CoconutInternalException("invalid type annotation tokens", tokens)
              if self.target.startswith("3"):
                  return varname + ": " + self.wrap_typedef(typedef) + default + comma
              else:
                  return varname + default + comma + self.wrap_passthrough(self.wrap_comment(" type: " + typedef) + "\n" + " " * self.tabideal)
docs: Process Python 3 type annotations.