code: func (p *PooledUnmarshaller) Decode(r io.Reader, obj interface{}) error {
  	u := p.pool.Get().(*Unmarshaller)
  	err := u.Decode(r, obj)
  	p.pool.Put(u)
  	return err
  }
docs: // Decode decodes an object from the passed reader into the given object using
  // the pool of unmarshallers.