code: func (p *PooledUnmarshaller) Unmarshal(b []byte, obj interface{}) error {
  	u := p.pool.Get().(*Unmarshaller)
  	err := u.Unmarshal(b, obj)
  	p.pool.Put(u)
  	return err
  }
docs: // Unmarshal unmarshals the passed object using the pool of unmarshallers.