title: Why golang yaml head comment becomes foot comment after unmarshal
body: <p>I am testing with <code>HeadComment</code> from a very simple code below:</p>
  
  <pre><code>package main
  
  import (
      "fmt"
      "gopkg.in/yaml.v3"
  )
  
  type Person struct {
      Name *yaml.Node
  }
  
  func main() {
      nameNode := &amp;yaml.Node{
          Kind:        yaml.ScalarNode,
          HeadComment: "The name of a person",
          Value:       "Lily",
          Style: yaml.DoubleQuotedStyle,
      }
  
      person := Person{
          Name: nameNode,
      }
  
      dataInBytes, _ := yaml.Marshal(person)
      fmt.Println(string(dataInBytes))
  }
  </code></pre>
  
  <p>I am expecting to see the output like this:</p>
  
  <pre><code># The name of a person
  name: "Lily"
  </code></pre>
  
  <p>However, I got:</p>
  
  <pre><code>name: "Lily"
  # The name of a person
  </code></pre>
  
  <p>A head comment becomes a foot comment. Anyone has ideas ? Thanks !</p>
  
  <p><a href="https://play.golang.org/p/10bQt2KTKBU" rel="nofollow noreferrer">https://play.golang.org/p/10bQt2KTKBU</a></p>