         [ first Letter? ]
     } 1&& [ 2 head "\\" append ] [ not-absolute-path ] if ;
 
-M: winnt file-system-info ( path -- file-system-info )
-    normalize-path root-directory
+: (file-system-info) ( path -- file-system-info )
     dup [ volume-information ] [ file-system-space ] bi
     \ win32-file-system-info new
         swap *ulonglong >>free-space

        swap >>mount-point
    calculate-file-system-info ;

: volume>paths ( string -- array )
    16384 <ushort-array> tuck dup length
    0 <uint> dup [ GetVolumePathNamesForVolumeName 0 = ] dip swap [

M: winnt file-systems ( -- array )
    find-volumes [ volume>paths ] map
    concat [
        [ (file-system-info) ]
        [ drop \ file-system-info new swap >>mount-point ] recover
    ] map ;

