code: func (q *Quantity) Copy() *Quantity {
  	if q.d.Dec == nil {
  		return &Quantity{
  			s:      q.s,
  			i:      q.i,
  			Format: q.Format,
  		}
  	}
  	tmp := &inf.Dec{}
  	return &Quantity{
  		s:      q.s,
  		d:      infDecAmount{tmp.Set(q.d.Dec)},
  		Format: q.Format,
  	}
  }
docs: // Copy is a convenience function that makes a deep copy for you. Non-deep
  // copies of quantities share pointers and you will regret that.