code: func DecodeList(objects []Object, decoders ...Decoder) []error {
  	errs := []error(nil)
  	for i, obj := range objects {
  		switch t := obj.(type) {
  		case *Unknown:
  			decoded, err := decodeListItem(t, decoders)
  			if err != nil {
  				errs = append(errs, err)
  				break
  			}
  			objects[i] = decoded
  		}
  	}
  	return errs
  }
docs: // DecodeList alters the list in place, attempting to decode any objects found in
  // the list that have the Unknown type. Any errors that occur are returned
  // after the entire list is processed. Decoders are tried in order.