;; derive let you build a hierarchy but parents/ancestors/descendants and isa? let you query the hierarchy (derive ::rect ::shape) (derive ::square ::rect)
;; derive let you build a hierarchy but parents/ancestors/descendants and isa? let you query the hierarchy (derive ::rect ::shape) (derive ::square ::rect)