code: func Marshal(v interface{}) ([]byte, error) {
  	var buf bytes.Buffer
  	e := Encoder{w: &buf}
  	err := e.Encode(v)
  	if err != nil {
  		return nil, err
  	}
  	return buf.Bytes(), nil
  }
docs: // Marshal the value 'v' to the bencode form, return the result as []byte and
  // an error if any.