     "short" define-primitive-type
 
     <c-type>
+        fixnum >>class
         [ alien-unsigned-2 ] >>getter
         [ set-alien-unsigned-2 ] >>setter
         2 >>size

: little-endian? ( -- ? ) 1 <int> *char 1 = ; foldable

TUPLE: c-type
boxer boxer-quot unboxer unboxer-quot
getter setter
reg-class size align stack-align? ;

: new-c-type ( class -- type )
    new
        int-regs >>reg-class ;

: <c-type> ( -- type )
    \ c-type new-c-type ;

    "bool" define-primitive-type

    <c-type>
        float >>class
        [ alien-float ] >>getter
        [ [ >float ] 2dip set-alien-float ] >>setter
        4 >>size
