interface ReadOnly {
  readonly setlike<DOMString>;
};

interface ReadWrite {
  setlike<DOMString>;
};

interface AddA {
  setlike<DOMString>;
  void add();
};

interface AddB {
  readonly setlike<DOMString>;
  void add();
};

interface AddC {
  readonly setlike<DOMString>;
  readonly attribute long add;
};

interface AddD {
  readonly setlike<DOMString>;
  const long add = 0;
};

interface AddE : ReadOnly {
  void add();
};

interface AddF : ReadOnly {
  readonly attribute long add;
};

interface AddG : ReadOnly {
  const long add = 0;
};

interface AddH {
  readonly setlike<DOMString>;
  static void add();
};

interface AddI {
  readonly setlike<DOMString>;
  static readonly attribute long add;
};

interface AddJ1 {
  static void add();
};

interface AddJ2 : AddJ1 {
  readonly setlike<DOMString>;
};

interface AddK1 {
  static readonly attribute long add;
};

interface AddK2 : AddK1 {
  readonly setlike<DOMString>;
};
