             (ParseOut input)         (Pair input (list-reverse expressions))
             (ParseNext input result) (parse-expressions input (Cons result expressions))))
 
-(export parse (input)
+(def parse-sexp (input)
      (match (parse-expressions (Pair input 0) Empty)
             (Pair _ expressions) expressions))
 

            (Symbol name _)      name
            (List expressions _) (wrap-in-brackets (stringify expressions))))

(export stringify (expressions)
     (string-join (string-of-char 32) (list-map (stringify-expression stringify) expressions)))



(typ range (Range int32 int32))

(typ sexp (Symbol (list int32)      range)
          (List   (list sexp)       range))

(typ (parse-result i e) (ParseNext i e)
                        (ParseOut i)
