================================================
template functions vs relational expressions
================================================

int main() {
  someVariable < someValue > 0.0;
  someTemplate<Type1, Type2>(0, 0);
}

---

(translation_unit (function_definition
  (identifier)
  (function_declarator (identifier))
  (compound_statement
    (expression_statement (relational_expression (relational_expression (identifier) (identifier)) (number_literal)))
    (expression_statement (call_expression
      (template_call (identifier) (type_name (identifier)) (type_name (identifier)))
      (argument_list
        (number_literal)
        (number_literal)))))))

================================================
template classes vs relational expressions
================================================

int main() {
  SomeTemplate<SomeType> someVariable = 1;
}

---

(translation_unit (function_definition
  (identifier)
  (function_declarator (identifier))
  (compound_statement
    (declaration
      (template_call (identifier) (type_name (identifier)))
      (init_declarator (identifier) (number_literal))))))
