class Bundler::PubGrub::Incompatibility

def initialize(terms, cause:, custom_explanation: nil)

def initialize(terms, cause:, custom_explanation: nil)
  @cause = cause
  @terms = cleanup_terms(terms)
  @custom_explanation = custom_explanation
  if cause == :dependency && @terms.length != 2
    raise ArgumentError, "a dependency Incompatibility must have exactly two terms. Got #{@terms.inspect}"
  end
end