9     Joseph Abrahamson 2014MIT me@jspha.com experimentalunknownNone- is the "purely "  with [S.ByteString] as its 4 type. When both the left and right arguments to '( *)' are  their errors are  ed together. chunks are either s or /s to be filled by a runtime key lookup later. Outputs either the successfully interpolated template or the list of missing keys. For fast operation, try building the lookup function using unordered-containers HashMaps. We can build a lazy g much more quickly, so if you need to quickly show your templates then this might be nicer than using  directly. Try to parse a  as a . An  attoparsec  for *s. This is useful if you'd like to embed 9s into a more sophisticated, parseable type of your own.<Template literals can be embedded directly in Haskell files.O(1) appends      Joseph Abrahamson 2014MIT me@jspha.com experimentalunknownNone        !"#$%&'( inserts-0.1.2Text.Template.Inserts.InternalText.Template.InsertsGotMissTemplate unTemplate TemplateCHoleLiteral gotEither runTemplate showTemplate parseTemplatetemplateParserbaseControl.Applicative Applicative Data.EitherEitherLeft Data.Monoidmappendbytestring-0.10.4.0Data.ByteString.Lazy.Internal ByteStringGHC.ShowshowData.ByteString.Internalattoparsec-0.12.1.2#Data.Attoparsec.ByteString.InternalParser$fIsStringTemplate$fMonoidTemplatefoldlM foldMonoidM$fShowTemplate $fMonoidGot$fApplicativeGot$fShowTemplateC