úÎ%Z <      !"#$%&'()*+,-./0123456789:; Safe-Inferred is like < but with two error states,  and . is precisely analogous to = while  has short cut semantics for >.The idea is that " errors cannot be circumvented by ? etc.Maps  to .Maps  and  to =.@ ABCDEFGHIJKLM  @ ABCDEFGHIJ Safe-Inferred Extraction errors.Unexpected end of contentsExpected end of contents An expected attribute is missingelement with missing attribute Some expected content is missingexpected content found contentError with a context.Location for some content.xFor now it is a reversed list of content indices and element names. This may change to something less "stringly typed".N/Lift a string function to an element extractor.& O PQRSTUVname of attribute to extract N!W"#$%&X  !"#$%&   !"$#%& O  PQRSTUV N!W"#$%&X Safe-Inferred'()YZ'()')('()YZNoneB,extractElement p element extracts element with p.- attrib name! extracts the value of attribute name..attribAs name f! extracts the value of attribute name7 and runs it through a conversion/validation function./ children p" extract only child elements with p.0 contents p extract contents with p.1extractContents p contents extracts the contents with p.2Using  produces a single [7. Such an element can be extracted using this function.3only p3 fails if there is more contents than extracted by p. only p = p <* eoc4,Succeeds only when there is no more content.5element name p extracts a name element with p.6Extracts text.7/Extracts text applied to a conversion function.8Extracts first matching.9 Extracts one \ item.*]+^,-./0123456789*+,-./0123456789!+,-./0*125678943*]+^,-./0123456789None:;:;:;:;_     !!"#$%&'()*+,-./0123&')(456/+-,7.89:;<:;=:>?:>@ ABCDEFGHIJKLKMKNOPQRSTUVWXYZ[\Z[]^xml-extractors-0.3.0.0)Text.XML.Light.Extractors.Internal.Result"Text.XML.Light.Extractors.Internal!Text.XML.Light.Extractors.ShowErrText.XML.Light.ExtractorsText.XML.Light.Extractors.ExtraText.XML.Light.Input parseXMLDoctransformers-0.3.0.0Control.Monad.Trans.ClassliftResultT runResultTResultOkFailFatalescalatetoEither throwError throwFatal mapResultContentsExtractorElementExtractorErrErrMsgErrNullErrEndErrAttr atElement ErrExpectexpectedfound ExtractionErrerrcontextPathrunElementExtractorattribattribAscontentschildrenrunContentsExtractorelementtextAstext anyContenteocshowExtractionErrshowPathshowErrextractElementextractContentsextractDocContentsonlychoicefloatintegerbase Data.EitherEitherLeftControl.Applicative Alternative<|>$fMonadTransResultT$fAlternativeResultT$fMonadResultT$fMonadPlusResultT$fApplicativeResultT$fFunctorResultT $fMonadResult$fAlternativeResult$fApplicativeResult$fFunctorResultControl.Monad.Trans.ErrorErrornoMsgstrMsg liftToElementCtxelemNamepushIdxpushElem pushAttribmakeElementExtractorfirst$fErrorExtractionErr contentLineshowLine xml-1.3.13Text.XML.Light.TypesElementContent