code: func (b *Uint64) UnmarshalText(input []byte) error {
  	raw, err := checkNumberText(input)
  	if err != nil {
  		return err
  	}
  	if len(raw) > 16 {
  		return ErrUint64Range
  	}
  	var dec uint64
  	for _, byte := range raw {
  		nib := decodeNibble(byte)
  		if nib == badNibble {
  			return ErrSyntax
  		}
  		dec *= 16
  		dec += nib
  	}
  	*b = Uint64(dec)
  	return nil
  }
docs: // UnmarshalText implements encoding.TextUnmarshaler