A better way to marshal and unmarshal YAML in Golang