anchor.diff:        (Ident s)::rest ->
           if (try get_type_arity s > 0 with Failure _ -> false) then s,rest
           else raise Noparse
  -    | _ -> raise Noparse in
  +    | _ -> raise Noparse
   
     let rec pretype i = rightbin sumtype (a (Resword "->")) (btyop "fun") "type" i
     and sumtype i = rightbin prodtype (a (Ident "+")) (btyop "sum") "type" i
  
positive.code:   let rec pfrees ptm acc =
      match ptm with
        Varp(v,pty) ->
          if v = "" & pty = dpty then acc
          elif can get_const_type v || can num_of_string v || exists (fun (w,_) -> v = w) (!the_interface) then acc
          else insert ptm acc
      | Constp(_,_) -> acc
  
negative.code:   <|> ((a (Resword "if")) .>>. preterm .>>. a (Resword "then") .>>. preterm .>>. a (Resword "else") .>>. preterm |>> lmk_ite)
    <|> ((a (Resword "[")) .>>. elistof preterm (a (Resword ";")) "term" .>>. a (Resword "]") |>> (pmk_list << snd << fst))
    <|> ((a (Resword "{")) .>>.
          (elistof nocommapreterm (a (Ident ",")) "term" .>>.  a (Resword "}") |>> lmk_setenum
            <|> preterm .>>. a (Resword "|") .>>. preterm .>>. a (Resword "}") |>> lmk_setabs
            <|> preterm .>>. a (Resword "|") .>>. preterm .>>. a (Resword "|") .>>. preterm .>>. a (Resword "}") |>> lmk_setcompr) |>> snd)
    <|> ((a (Resword "match")) .>>. preterm .>>. a (Resword "with") .>>. clauses |>> (fun (((_,e),_),c) -> Combp(Combp(Varp("_MATCH",dpty),e),c)))
    <|> ((a (Resword "function")) .>>. clauses |>> (fun (_,c) -> Combp(Varp("_FUNCTION",dpty),c)))
    <|> ((a (Ident "#")) .>>. identifier .>>. possibly (a (Resword ".") .>>. identifier |>> snd) |>> lmk_decimal)
  