Actually after looking more carefully it looks like the And function might be more like below, which is better?
public static readonly Func<Bool, Func<Bool, Bool>> And =
new Func<Bool, Func<Bool, Bool>>(a =>
a is True ?
new Func<Bool, Bool>(b => b) :
new Func<Bool, Bool>(_ => False));