lib/types.js
function isAmbiguous(types) {
  var buckets = {};
  var i, l, bucket, type;
  for (i = 0, l = types.length; i < l; i++) {
    type = types[i];
    if (!Type.isType(type, 'logical')) {
      bucket = getTypeBucket(type);
      if (buckets[bucket]) {
        return true;
      }
      buckets[bucket] = true;
    }
  }
  return false;
}
function isAmbiguous(types) {
  var buckets = {};
  var i, l, bucket, type;
  for (i = 0, l = types.length; i < l; i++) {
    type = types[i];
    if (!Type.isType(type, 'logical')) {
      bucket = getTypeBucket(type);
      if (buckets[bucket]) {
        return true;
      }
      buckets[bucket] = true;
    }
  }
  return false;
}
function isAmbiguous ( types ) { var buckets = { } ; var i , l , bucket , type ; for ( i = 0 , l = types . length ; i < l ; i ++ ) { type = types [ i ] ; if ( ! Type . isType ( type , 'logical' ) ) { bucket = getTypeBucket ( type ) ; if ( buckets [ bucket ] ) { return true ; } buckets [ bucket ] = true ; } } return false ; }
Check whether a collection of types leads to an ambiguous union.

@param types {Array} Array of types.
Check whether a collection of types leads to an ambiguous union .