         [ 3 tail harvest ]
     } cleave raw-zone boa ;
 
-: raw-link>link ( raw-link -- link )
-    ;
-
 : parse-link ( seq -- link )
     [
         {

: parse-line ( seq -- tuple )
    dup first >lower
    {
        { "zone" [ parse-zone dup last-zone set raw-zone>zone ] }
        { "rule" [ parse-rule raw-rule>rule ] }
        { "link" [ parse-link raw-link>link ] }
        { "leap" [ parse-leap raw-leap>leap ] }
        [ drop harvest parse-partial-zone ]
    } case ;



MEMO: zoneinfo-array ( -- seq )
    zoneinfo-files concat ;

: raw-rule-map ( -- assoc )
    zoneinfo-array [ raw-rule? ] filter [ name>> ] collect-by ;
