public T Match <T>(T trueCase, T falseCase) => b.Match(falseCase, trueCase);
public T Match <T>(T trueCase, T falseCase) { return(b.Match(falseCase, trueCase)); }
public T Match <T>(T trueCase, T falseCase) { return(x.Match(trueCase, y.Match(trueCase, falseCase))); }
public static bool ToBool(this IChurchBoolean b) { return(b.Match(true, false)); }
public T Match <T>(T trueCase, T falseCase) => x.Match(trueCase, y.Match(trueCase, falseCase));
public static bool ToBool(this IChurchBoolean b) => b.Match(true, false);