static void connect_method(Subject& subject, Foo& foo)
 {
     subject.connect(&foo, &Foo::handler);
 }
 static void connect_method(Subject& subject, Foo& foo)
 {
     //foo.reg = subject.connect(std::bind(&Foo::handler, &foo, std::placeholders::_1));
     foo.reg = subject.connect(&foo, &Foo::handler);
 }
 static void connect_method(Subject& subject, Foo& foo)
 {
     foo.reg.emplace_front(subject.connect(
         std::bind(&Foo::handler, &foo, std::placeholders::_1)));
 }