class A1 {
  const A1();
  const factory A1.named(A1 it) = E1.named;
}

extension type const E1(A1 it) {
  const E1.named(A1 it) : this(it);
}

enum A2 {
  element;

  const A2();
  const factory A2.named(A2 it) = E2.named;
}

extension type const E2(A2 it) {
  const E2.named(A2 it) : this(it);
}
