code: function combineBuffers(types, opts) {
    var size = -1;
    var i, l, type;
    for (i = 0, l = types.length; i < l; i++) {
      type = types[i];
      if (type.getTypeName() === 'bytes') {
        return type;
      }
      if (size === -1) {
        size = type.getSize();
      } else if (type.getSize() !== size) {
        // Don't create a bytes type right away, we might be able to reuse one
        // later on in the types array. Just mark this for now.
        size = -2;
      }
    }
    return size < 0 ? createType('bytes', opts) : types[0];
  }
docs: Combine bytes and fixed.
  
  This function is optimized to avoid creating new types when possible: in
  case of a size mismatch between fixed types, it will continue looking
  through the array to find an existing bytes type (rather than exit early by
  creating one eagerly).