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

    ] [ drop f ] if ;

: define-struct-methods ( class -- )
    {
        [ define-struct-slot-values-method ]
        [ define-clone-method ]
        [ define-equal-method ]
    } cleave ;

: check-struct-slots ( slots -- )
    [ type>> lookup-c-type drop ] each ;

: forget-struct-slot-values-method ( class -- )
    \ struct-slot-values ?lookup-method forget ;

: clone-underlying ( struct -- byte-array )
    binary-object memory>byte-array ; inline

