// Eq returns true if the left BooleanElement is equal to the right BooleanElement.
// When both are nil Eq returns false because nil actualy signifies "unknown"
// and you can't compare two things when you don't know what they are.
Eq returns true if the left BooleanElement is equal to the right BooleanElement.
When both are nil Eq returns false because nil actualy signifies "unknown"
and you can't compare two things when you don't know what they are.
// Eq returns true if the left BooleanElement is equal to the right BooleanElement . // When both are nil Eq returns false because nil actualy signifies " unknown " // and you can ' t compare two things when you don ' t know what they are .
func (e BooleanElement) Eq(r Element) (bool, error) {
	if e.IsNil() && r.IsNil() {
		return false, nil
	}
	return e.compare(r, func(left, right bool) bool {
		return left == right
	})
}
func ( e BooleanElement ) Eq ( r Element ) ( bool , error ) { if e . IsNil ( ) && r . IsNil ( ) { return false , nil } return e . compare ( r , func ( left , right bool ) bool { return left == right } ) }
Eq returns true if the left BooleanElement is equal to the right BooleanElement.
Eq returns true if the left BooleanElement is equal to the right BooleanElement .