     { fixnum number-parse integer fixnum } declare
     digit-in-radix [ [ @pos-digit-or-punc ] add-digit ] [ @abort ] if ;
 
-: (->radix) ( number-parse radix -- number-parse' )
-    [ [ str>> ] [ length>> ] bi ] dip number-parse boa ; inline
-
 : ->radix ( i number-parse n quot radix -- i number-parse n quot )
-    [ (->radix) ] curry 2dip ; inline
+    [ >>radix ] curry 2dip ; inline
 
 : with-radix-char ( i number-parse n radix-quot nonradix-quot -- n/f )
     [

    [ / ] [ drop f ] if* ; inline

TUPLE: float-parse
    { radix fixnum read-only }
    { point read-only }
    { exponent read-only } ;

: inc-point ( float-parse -- float-parse' )
    [ radix>> ] [ point>> 1 + ] [ exponent>> ] tri float-parse boa ; inline

: store-exponent ( float-parse n expt -- float-parse' n )
    swap [ [ radix>> ] [ point>> ] bi ] 2dip [ float-parse boa ] dip ; inline

: ?store-exponent ( float-parse n expt/f -- float-parse' n/f )
    [ store-exponent ] [ drop f ] if* ; inline

    -rot 0 ; inline

: @split-exponent ( i number-parse n -- n i number-parse' n' )
    -rot 10 >>radix 0 ; inline

: <float-parse> ( i number-parse n -- float-parse i number-parse n )
     [ drop nip radix>> 0 f float-parse boa ] 3keep ; inline
