 
 : deserialize-float ( -- float )
     deserialize-cell bits>double ;
-
-: deserialize-ratio ( -- ratio )
-    (deserialize) (deserialize) / ;
-
-: deserialize-complex ( -- complex )
-    (deserialize) (deserialize) rect> ;
 
 : (deserialize-string) ( -- string )
     deserialize-cell read utf8 decode ;

    CHAR: F write1
    double>bits serialize-cell ;

M: complex (serialize) ( obj -- )
    CHAR: c write1
    [ real-part (serialize) ]
    [ imaginary-part (serialize) ] bi ;

M: ratio (serialize) ( obj -- )
    CHAR: r write1
    [ numerator (serialize) ]
    [ denominator (serialize) ] bi ;

: serialize-seq ( obj code -- )
    [
        write1

            { CHAR: o [ deserialize-unknown ] }
            { CHAR: p [ deserialize-positive-integer ] }
            { CHAR: q [ deserialize-quotation ] }
            { CHAR: s [ deserialize-string ] }
            { CHAR: w [ deserialize-word ] }
            { CHAR: G [ deserialize-word ] }
