The following works
fine:
(match (link: 'F) (link: ('F :as x)) x)
;; => F
But fails when I try to use an :or guard:
(match (link: 'F) (link: ((:or 'F 'T) :as x)) x)
;; CompilerException java.lang.RuntimeException: Unable to resolve symbol: x in this context