whole_func_string: function isSameException(ex1, ex2) {
  	  if (isOnlyOneTruthy(ex1, ex2)) return false;
  	  ex1 = ex1.values[0];
  	  ex2 = ex2.values[0];
  	  if (ex1.type !== ex2.type || ex1.value !== ex2.value) return false; // in case both stacktraces are undefined, we can't decide so default to false
  
  	  if (isBothUndefined(ex1.stacktrace, ex2.stacktrace)) return false;
  	  return isSameStacktrace(ex1.stacktrace, ex2.stacktrace);
  	}
func_code_string: function isSameException(ex1, ex2) {
  	  if (isOnlyOneTruthy(ex1, ex2)) return false;
  	  ex1 = ex1.values[0];
  	  ex2 = ex2.values[0];
  	  if (ex1.type !== ex2.type || ex1.value !== ex2.value) return false; // in case both stacktraces are undefined, we can't decide so default to false
  
  	  if (isBothUndefined(ex1.stacktrace, ex2.stacktrace)) return false;
  	  return isSameStacktrace(ex1.stacktrace, ex2.stacktrace);
  	}
func_documentation_string: Returns true if the two input exception interfaces have the same content