code: func (f *fieldVal) Add(val *fieldVal) *fieldVal {
  	// Since the field representation intentionally provides overflow bits,
  	// it's ok to use carryless addition as the carry bit is safely part of
  	// each word and will be normalized out.  This could obviously be done
  	// in a loop, but the unrolled version is faster.
  	f.n[0] += val.n[0]
  	f.n[1] += val.n[1]
  	f.n[2] += val.n[2]
  	f.n[3] += val.n[3]
  	f.n[4] += val.n[4]
  	f.n[5] += val.n[5]
  	f.n[6] += val.n[6]
  	f.n[7] += val.n[7]
  	f.n[8] += val.n[8]
  	f.n[9] += val.n[9]
  
  	return f
  }
docs: // Add adds the passed value to the existing field value and stores the result
  // in f.
  //
  // The field value is returned to support chaining.  This enables syntax like:
  // f.Add(f2).AddInt(1) so that f = f + f2 + 1.