code: func (q *Quantity) Cmp(y Quantity) int {
  	if q.Amount == nil {
  		if y.Amount == nil {
  			return 0
  		}
  		return -y.Amount.Sign()
  	}
  	if y.Amount == nil {
  		return q.Amount.Sign()
  	}
  	return q.Amount.Cmp(y.Amount)
  }
docs: // Cmp compares q and y and returns:
  //
  //   -1 if q <  y
  //    0 if q == y
  //   +1 if q >  y
  //