class A<X extends num> {}

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

class B2 extends B1 {
  num? get baz => null;
  num bar = 3.14;
  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() {}
