(module (function_definition name: (identifier) parameters: (parameters (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier))) (typed_parameter (identifier) type: (type (identifier)))) return_type: (type (generic_type (identifier) (type_parameter (type (identifier)) (type (identifier)) (type (identifier))))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (parenthesized_expression (binary_operator left: (binary_operator left: (unary_operator argument: (identifier)) right: (identifier)) right: (identifier))) right: (identifier)))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (parenthesized_expression (binary_operator left: (binary_operator left: (binary_operator left: (identifier) right: (identifier)) right: (identifier)) right: (binary_operator left: (identifier) right: (identifier)))) right: (identifier)))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (binary_operator left: (identifier) right: (identifier)) right: (identifier)))) (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (parenthesized_expression (binary_operator left: (binary_operator left: (identifier) right: (identifier)) right: (identifier)))))) (return_statement (expression_list (binary_operator left: (identifier) right: (identifier)) (binary_operator left: (identifier) right: (identifier)) (binary_operator left: (identifier) right: (identifier)))))))