code: func (e *Encoder) Encode(v interface{}) (err error) {
  	defer handleErr(&err)
  	e.encoder.marshalDoc("", reflect.ValueOf(v))
  	return nil
  }
docs: // Encode writes the YAML encoding of v to the stream.
  // If multiple items are encoded to the stream, the
  // second and subsequent document will be preceded
  // with a "---" document separator, but the first will not.
  //
  // See the documentation for Marshal for details about the conversion of Go
  // values to YAML.