     [ class>> c-type-getter-boxer ]
     [ offset>> [ >c-ptr ] swap suffix ] bi prepend ;
 
-M: struct-class writer-quot
-    nip
+: (writer-quot) ( slot -- quot )
     [ class>> c-setter ]
     [ offset>> [ >c-ptr ] swap suffix ] bi prepend ;
+
+M: struct-class writer-quot
+    nip (writer-quot) ;
 
 ! Struct as c-type
 


M: struct-class new
    dup "prototype" word-prop
    [ >c-ptr clone swap memory>struct ] [ <struct> ] if ; inline

! Struct slot accessors


! class definition

: struct-prototype ( class -- prototype )
    [ heap-size <byte-array> ]
    [ tuple-layout <tuple> [ 2 set-slot ] keep ]
    [ "struct-slots" word-prop ] tri
    [
        [ initial>> ]
        [ (writer-quot) ] bi
        over [ swapd [ call( value struct -- ) ] curry keep ] [ 2drop ] if
    ] each ;

: (define-struct-class) ( class slots size align -- )
    [
