 <PRIVATE
 : struct-slot-values-quot ( class -- quot )
     struct-slots
-    [ name>> reader-word 1quotation ] map
-    '[ [ _ cleave ] output>array ] ;
+    [ name>> reader-word 1quotation ] map dup length
+    '[ _ cleave _ narray ] ;
 
 : define-struct-slot-values-method ( class -- )
     [ \ struct-slot-values ] [ struct-slot-values-quot ] bi

arrays assocs byte-arrays classes classes.parser classes.private
classes.struct.bit-accessors classes.tuple classes.tuple.parser
classes.tuple.private combinators combinators.short-circuit
combinators.smart cpu.architecture definitions delegate.private
effects functors.backend generalizations generic generic.parser
io kernel kernel.private lexer libc math math.order parser
quotations sequences sequences.private slots slots.private
specialized-arrays stack-checker.dependencies summary vectors
vocabs.loader vocabs.parser words ;

SPECIALIZED-ARRAY: uchar


        [ forget-struct-slot-accessors ]
        [ forget-struct-slot-values-method ]
        [ forget-clone-method ]
        [ { "c-type" "layout" "struct-size" } remove-word-props ]
        [ call-next-method ]
    } cleave ;
