need to support Boolean combinational types in rtes
Types such as and, or, not are not yet supported inside rte, such as this call to rte-match.
(rte-match '(:cat (or Boolean Long)) [42])
ERROR in (t-boolean-types) (rte.clj:131)
rte-match with Boolean types
expected: (not (rte-match (quote (:* (and Number Long (not (= 0))))) [42 43 0 44]))
actual: clojure.lang.ExceptionInfo: invalid pattern (and Number Long (not (= 0)))
{:error-type :rte-expand-error, :keyword and, :pattern (and Number Long (not (= 0))), :functions {:cat #function[clojure-rte.core/canonicalize-pattern-once/fn--1748], :* #function[clojure-rte.core/canonicalize-pattern-once/fn--1745], :sigma #function[clojure-rte.util/rte-identity], :or #function[clojure-rte.core/canonicalize-pattern-once/fn--1787], :client #function[clojure-rte.core/fn--1553], :not #function[clojure-rte.core/canonicalize-pattern-once/fn--1758], :type #function[clojure-rte.core/canonicalize-pattern-once/fn--1743], :empty-set #function[clojure-rte.util/rte-identity], :epsilon #function[clojure-rte.util/rte-identity], :and #function[clojure-rte.core/canonicalize-pattern-once/fn--1765]}}
at clojure_rte.core$invalid_pattern.invokeStatic (rte.clj:131)
clojure_rte.core$invalid_pattern.invoke (rte.clj:130)
clojure_rte.core$eval1595$fn__1596.invoke (rte.clj:139)
clojure.lang.MultiFn.invoke (MultiFn.java:234)
clojure_rte.core$traverse_pattern$if_multiple_operands__1705.invoke (rte.clj:289)
clojure_rte.core$traverse_pattern.invokeStatic (rte.clj:303)
clojure_rte.core$traverse_pattern.invoke (rte.clj:216)