code: func writeph(buf *bytes.Buffer, child ast.Node) {
  	switch child := child.(type) {
  	case *ast.RawTextNode:
  		buf.Write(child.Text)
  	case *ast.MsgPlaceholderNode:
  		buf.WriteString("{" + child.Name + "}")
  	}
  }
docs: // writeph writes the placeholder string for the given node to the given buffer.