scala-library-next
                                
                                 scala-library-next copied to clipboard
                                
                                    scala-library-next copied to clipboard
                            
                            
                            
                        Add `option.diff`
Add diff to Option for a symmetry with Seq. Reference implementation:
  implicit class OptionValueOps[T](private val o: Option[T]) extends AnyVal {
    final def diff(that: Option[T]): Option[T] = {
      if (that.exists(o.contains)) None
      else o
    }
  }
It can be even made a little bit more general:
implicit class OptionValueOps[T](private val o: Option[T]) extends AnyVal {
  final def diff(that: Iterable[T]): Option[T] = {
    if (o.exists(that.contains)) None
    else o
  }
}
Note: o.exists(that.contains) should be more performant than that.exists(o.contains) when that.contains is more efficient than that.exists, e.g. for Set.