code: func yaml_emitter_emit_flow_sequence_item(emitter *yaml_emitter_t, event *yaml_event_t, first bool) bool {
  	if first {
  		if !yaml_emitter_write_indicator(emitter, []byte{'['}, true, true, false) {
  			return false
  		}
  		if !yaml_emitter_increase_indent(emitter, true, false) {
  			return false
  		}
  		emitter.flow_level++
  	}
  
  	if event.typ == yaml_SEQUENCE_END_EVENT {
  		emitter.flow_level--
  		emitter.indent = emitter.indents[len(emitter.indents)-1]
  		emitter.indents = emitter.indents[:len(emitter.indents)-1]
  		if emitter.canonical && !first {
  			if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) {
  				return false
  			}
  			if !yaml_emitter_write_indent(emitter) {
  				return false
  			}
  		}
  		if !yaml_emitter_write_indicator(emitter, []byte{']'}, false, false, false) {
  			return false
  		}
  		emitter.state = emitter.states[len(emitter.states)-1]
  		emitter.states = emitter.states[:len(emitter.states)-1]
  
  		return true
  	}
  
  	if !first {
  		if !yaml_emitter_write_indicator(emitter, []byte{','}, false, false, false) {
  			return false
  		}
  	}
  
  	if emitter.canonical || emitter.column > emitter.best_width {
  		if !yaml_emitter_write_indent(emitter) {
  			return false
  		}
  	}
  	emitter.states = append(emitter.states, yaml_EMIT_FLOW_SEQUENCE_ITEM_STATE)
  	return yaml_emitter_emit_node(emitter, event, false, true, false, false)
  }
docs: // Expect a flow item node.