public void TestReact()
    {
      var f = new LowerBoundFunction<int, Int32Order>();
      var x = new[] {1, 1, 3, 5, 6, 9}.ToList();

      Assert.That(f.React(3, x.ToLog(Δ1.Empty), 4.ToLog(false)), Is.EqualTo(3.ToLog(false)));
      Assert.That(f.React(3, x.ToLog(Δ1.Empty), 4.ToLog(true)), Is.EqualTo(3.ToLog(false)));
      Assert.That(f.React(3, x.ToLog(Δ1.Empty), 5.ToLog(true)), Is.EqualTo(3.ToLog(false)));
      Assert.That(f.React(3, x.ToLog(Δ1.Empty), 3.ToLog(true)), Is.EqualTo(2.ToLog(true)));
      Assert.That(f.React(3, x.Mutate(Expressions.Numbers(5).ToSub(), (key, j) => 20), 4.ToLog(false)), Is.EqualTo(3.ToLog(false)));
      Assert.That(f.React(3, x.Mutate(Expressions.Numbers(3).ToSub(), (key, j) => 3), 4.ToLog(false)), Is.EqualTo(4.ToLog(true)));
    }