     [ dup % ] [ gadget-text* ] interleave drop ;
 
 M: gadget gadget-text*
-    dup gadget-children swap gadget-seq-text ;
+    dup children>> swap gadget-seq-text ;
 
 M: array gadget-text*
     [ gadget-text* ] each ;

    >r >r gadget-orientation r> r> [ pick set-axis ] 2map nip ;

: each-child ( gadget quot -- )
    >r gadget-children r> each ; inline

! Selection protocol
GENERIC: gadget-selection? ( gadget -- ? )


GENERIC: children-on ( rect/point gadget -- seq )

M: gadget children-on nip children>> ;

: (fast-children-on) ( dim axis gadgets -- i )
    swapd [ rect-loc v- over v. 0 <=> ] binsearch nip ;
