type TriBool = (tbFalse, tbMaybe, tbTrue);