interface ReadOnly {
  readonly setlike<DOMString>;
};

interface ReadWrite {
  setlike<DOMString>;
};

interface DeleteA {
  setlike<DOMString>;
  void delete();
};

interface DeleteB {
  readonly setlike<DOMString>;
  void delete();
};

interface DeleteC {
  readonly setlike<DOMString>;
  readonly attribute long delete;
};

interface DeleteD {
  readonly setlike<DOMString>;
  const long delete = 0;
};

interface DeleteE : ReadOnly {
  void delete();
};

interface DeleteF : ReadOnly {
  readonly attribute long delete;
};

interface DeleteG : ReadOnly {
  const long delete = 0;
};

interface DeleteH {
  readonly setlike<DOMString>;
  static void delete();
};

interface DeleteI {
  readonly setlike<DOMString>;
  static readonly attribute long delete;
};

interface DeleteJ1 {
  static void delete();
};

interface DeleteJ2 : DeleteJ1 {
  readonly setlike<DOMString>;
};

interface DeleteK1 {
  static readonly attribute long delete;
};

interface DeleteK2 : DeleteK1 {
  readonly setlike<DOMString>;
};
