library test.mixin_library;

f() => 2;
V() => 87;
_private() => 117;

class Mixin<T> {
  var x = f(), y, z;
  T? t;
  foo() => super.foo() + f();
  T? g(T a) => null;
  h() => V();
  l() => _private();
  _privateMethod() => 49;
  publicMethod() => _privateMethod();
}

foo(m) => m._privateMethod();
