public IPrint Add(IPrint e1, IPrint e2) => _factory.For <IPrint>((Func <string>) (() => e1.Print() + " + " + e2.Print()));
public IEval Add(IEval e1, IEval e2) => _factory.For <IEval>((Func <int>) (() => e1.Eval() + e2.Eval()));
public IEval Sub(IEval e1, IEval e2) => _factory.For <IEval>((Func <int>) (() => e1.Eval() - e2.Eval()));