     array_type: -> seq("[", @array_length, "]", @element_type)
     array_length: -> @expression
 
-    struct_type: -> seq("struct", "{", repeat(seq(@field_decl, terminator())), "}")
+    struct_type: -> seq(keyword("struct"), "{", repeat(seq(@field_decl, terminator())), "}")
     field_decl: -> seq(
       choice(seq(@identifier_list, @type), @anonymous_field),
       optional(@tag))

    pointer_type: -> seq("*", @base_type)
    base_type: -> @type

    function_type: -> seq("func", @signature)
    signature: -> seq(@parameters, optional(@result))
    result: -> choice(@parameters, @type)
    parameters: -> seq("(", optional(seq(@parameter_list, optional(","))), ")")
    parameter_list: -> seq(@parameter_decl, repeat(seq(",", @parameter_decl)))
    parameter_decl: -> seq(optional(@identifier_list), optional("..."), @type)

    interface_type: -> seq("interface", "{", repeat(seq(@method_spec, terminator())), "}")
    method_spec: -> choice(seq(@method_name, @signature), @interface_type_name)
    method_name: -> @_identifier
    interface_type_name: -> @type_name

    slice_type: -> seq("[", "]", @element_type)

    map_type: -> seq("map", "[", @key_type, "]", @element_type)
    key_type: -> @type

    channel_type: -> seq(choice("chan", seq("chan", "<-"), seq("chan", "->")), @element_type)

    #########################################################################
    # Statements

    top_level_decl: -> choice(@declaration, @function_decl, @method_decl)

    const_decl: -> seq(
      keyword("const"),
      choice(@const_spec, seq("(", repeat(@const_spec, terminator()), ")")))
    const_spec: -> seq(
      @identifier_list,
      optional(seq(optional(@type), "=", @expression_list)))

    type_decl: -> seq(
      keyword("type"),
      choice(@type_spec, seq("(", repeat(@type_spec, terminator()), ")")))
    type_spec: -> seq(@_identifier, @type)

    var_decl: -> seq(
      keyword("var"),
      choice(@var_spec, seq("(", repeat(@var_spec, terminator()), ")")))
    var_spec: -> seq(
      @identifier_list,
