class A<X extends num> {}

class B1 {
  void set bar(num? value) {}
  num get baz => 42;
  void hest(num? value) {}
}

class B2 extends B1 {
  num bar = 3.14;
  num? get baz => null;
  void hest(num value) {}
}

class C1 {
  factory C1() = C2<int?>;
}

class C2<X extends int> implements C1 {}

class D {
  D.foo(num x);
  factory D.bar(num? x) = D.foo;
}

main() {}
