code: func (d *Decoder) DecodeBool() (rv bool, err error) {
  	val, err := d.DecodeInt()
  	if err != nil {
  		return
  	}
  	switch val {
  	case 0:
  		return false, nil
  	case 1:
  		return true, nil
  	}
  	err = unmarshalError("DecodeBool", ErrBadEnumValue, "bool not 0 or 1", val)
  	return
  }
docs: // DecodeBool treats the next 4 bytes as an XDR encoded boolean value and
  // returns the result as a bool.
  //
  // An UnmarshalError is returned if there are insufficient bytes remaining or
  // the parsed value is not a 0 or 1.
  //
  // Reference:
  // 	RFC Section 4.4 - Boolean
  // 	Represented as an XDR encoded enumeration where 0 is false and 1 is true