MACRO: shadowed-boa ( class -- tuple ) [ generate-slot-sequences [ [ length ] keep ] dip ] keep dup all-slots length '[ _ _ _ _ [ assoc-slots ] 2dip [ assoc-slots-to-initial _ extract-slot-values ] [ boa ] bi ] ;