adam@9: (** Datatypes for describing parse results *) adam@9: adam@9: datatype parse a = adam@9: Success of a adam@9: | Failure of string