func (s {{.Node.Name}}) {{.Field.Name|title}}() ({{.FieldType}}, error) {
	{{template "_checktag" . -}}
	p, err := s.Struct.Ptr({{.Field.Slot.Offset}})
	{{with .Default -}}
	return {{$.FieldType}}(p.DataDefault({{printf "%#v" .}})), err
	{{- else -}}
	return {{.FieldType}}(p.Data()), err
	{{- end}}
}

{{template "_hasfield" .}}

func (s {{.Node.Name}}) Set{{.Field.Name|title}}(v {{.FieldType}}) error {
	{{template "_settag" . -}}
	{{if .Default -}}
	if v == nil {
		v = []byte{}
	}
	{{end -}}
	return s.Struct.SetData({{.Field.Slot.Offset}}, v)
}

