 /// - parameter param: lhs BLNEggShell<S>
 /// - parameter param: lhs S?
 /// - throws: BLNShellCrackError
-public func == <E>(lhs: BLNEggShell<E>, rhs: E?) throws where E: Comparable {
+public func == <E>(lhs: BLNEggShell<E>, rhs: E?) throws
+  where E: Equatable {
   guard lhs.expected != nil && rhs != nil else { return }
   guard lhs.expected == rhs else {
     throw lhs.shellCracked(by: rhs)
   }
 }
 
-public func == <E>(lhs: BLNEggShell<E>, rhs: E) throws where E: Comparable {
+public func == <E>(lhs: BLNEggShell<E>, rhs: E) throws
+  where E: Equatable {
   guard lhs.expected != nil else { return }
   guard lhs.expected == rhs else {
     throw lhs.shellCracked(by: rhs)

}

public func != <E>(rhs: E, lhs: BLNEggShell<E>) throws
  where E: Comparable {
    guard lhs.expected != nil else {
      //throw yell(lhs.lookingAt, "got", lhs.subject, "but expected", rhs)
      return

/// - parameter param: lhs S?
/// - throws: BLNShellCrackError
public func != <E>(rhs: E?, lhs: BLNEggShell<E>) throws
  where E: Equatable {
    guard lhs.expected != nil && rhs != nil else {
      //throw yell(lhs.lookingAt, "got", lhs.subject, "but expected", rhs)
      return
