I am trying to unmarshal the following YAML with [Go YAML v3](https://godoc.org/gopkg.in/yaml.v3).

```
model:
  name: mymodel
  default-children:
  - payment

  pipeline:
    accumulator_v1:
      by-type:
        type: static
        value: false
      result-type:
        type: static
        value: 3

    item_v1:
      amount:
        type: schema-path
        value: amount
      start-date:
        type: schema-path
        value: start-date

```

Under pipeline is an arbitrary number of ordered items. The struct to which this should be unmarshalled looks like this:

```
type PipelineItemOption struct {
        Type string
        Value interface{}
}

type PipelineItem struct {
        Options map[string]PipelineItemOption
}

type Model struct {
        Name string
        DefaultChildren []string `yaml:"default-children"`
        Pipeline orderedmap[string]PipelineItem    // "pseudo code"
}

```

How does this work with Golang YAML v3? In v2 there was MapSlice, but that is gone in v3.