I have an abstract type of 'command' and a number of sub types, only they are all expressed as maps not defrecords.
At the moment I have:
(t/defalias CommandSchema (t/HMap :mandatory {:type Keyword}))
and
(t/defalias SayHelloSchema (t/HMap :mandatory {:type :say-hello :to-whom String}))
is there any way I can express and enforce that SayHelloSchema is-a (even if only structurally) with CommandSchema?
The *only* reason I ask is to capture that relationship - things that need a CommandSchema take a CommandSchema, things that expect a SayHelloSchema take one of those, it would just be nice to capture that relationship.
Thanks