Fork channel

Create a new channel as a copy of main.

Rename channel

Rename main to:

Delete channel

Delete main? This cannot be undone.

Box.h
template <class T>
struct iterator {
  void Compare(const iterator &x) { }
  friend void Check(iterator) {}
};

template <class T = int> struct Box {
  iterator<T> I;

  void test() {
    Check(I);
    I.Compare(I);
  }
};