         [ define-tuple-slots ]
         [ define-tuple-predicate ]
         [ define-tuple-prototype ]
-        [ define-tuple-constructor ]
-        [ define-tuple-initial-quots ]
     } cleave ;
 
 : define-new-tuple-class ( class superclass slots -- )

M: tuple hashcode* tuple-hashcode ;

M: tuple-class new
    dup "constructor" word-prop {
        { "initial-quots" [ "prototype" word-prop (clone) set-initial-quots ] }
        { "prototype" [ "prototype" word-prop (clone) ] }
        [ drop tuple-layout <tuple> ]
    } case ;

M: tuple-class boa
    [ "boa-check" word-prop [ call ] when* ]


: define-tuple-layout ( class -- )
    dup make-tuple-layout "layout" set-word-prop ;

: calculate-initial-value ( slot-spec -- value )
    dup initial>> [
