class Less::Error

def initialize(cause, value = nil)

def initialize(cause, value = nil)
  @value = value
  message = nil
  if @value # 2 args passed
    message = @value['message']
  else # allow passing only value as first arg cause :
    if cause.respond_to?(:'[]') && message = cause['message']
      @value = cause
    end
  end
  
  if cause.is_a?(::Exception)
    @cause = cause
    super(message || cause.message)
  else
    super(message || cause)
  end
end