úÎ6F4Ò     (c) Justin Le 2015MIT justin@jle.imunstableportableNone05 Put at the start of a  to signify that it is a .-A data type representing a fingerprint for a  type. Ideally, this would be s own  Fingerprint¤ types; however, for some reason, the fingerprints for the same data type from the same modules differ between different GHC backends. So for now, it is just a   representation of the name of the type. This is literally a bad idea, and so two types with the same name but from different modules will share a non-unique ¥. Hopefully in the future when I find out a way to fix this or the GHC backend maintainers find a way to provide consistent type fingerprints, this will be fixed.TThis type is mostly used for the ability to categorized Tagged items by their type. gives a « that will most likely never be matched by any actual tag from a real type, so can be used as a test if needed. This replaces functionality that used to come from the Default instance.)A data type tupling together data with a *, representing data tagged with its type.0It's best to interface directly with data using  encodeTagged,  decodeTagged , etc, using  to tag data and  extractTaggedp to extract data from valid tagged data. This type is exported mostly when you want to specifically decode a ˆ into tagged data, and manually extract it yourself. If you are writing a framework, it is preferred to handle this for the end user.@ that is meant to never be matched by any actual normal type's .Wrap data inside a  tuple. Compute the  Fingerprint| representing a type. It is non-strict on its parameter, so passing in undefined should work if you want to just get the  Fingerprint> of a specific type without having data of that type on hand: "typeFingerprint (undefined :: Int)Extract data out of a ™, but only the type of the data matches the type represented by the fingerprint. It is polymorphic on its output and meant to be used when decoding a  item with a desired type.Check if the type inside the  matches the fingerprint. Extract the  Fingerprint out of a U. Mostly used so that you can categorize and associate Tagged items; to check if a  is of a desired typed,  and  might be more useful.With a %, expecting tagged data, returns the  Fingerprint) that the data is tagged with. Returns Nothing` if the data is not decodable as tagged data. Might accidentally decode untagged data though!   (c) Justin Le 2015MIT justin@jle.imunstableportableNoneEncode data into a  with its type data tagged.•Remember that for now, types are distinguished by their string names, so two types of the same name in different modules will not have unique tags.Decode tagged data from a a. The return type is polymorphic, so it'll attempt to decode it by inferred or specified type.If the data is not decoded, Nothing is returned..If successfully decoded data is tagged with a  Fingerprint" not matching the desired type, Nothing is also returned.5If the data is successfully decoded *and* the tagged  Fingerprint matches the desired type, Just x is returned, where x: is the originally encoded data (with its tag stripped).      !"#+tagged-binary-0.2.0.1-Lc3n6I7VjZeMYbUEWKzSHData.Binary.Tagged.InternalData.Binary.Tagged Data.Typeable Internal'TagFingerprintTagged emptyTagFPtagtypeFingerprint getTagged tagMatchedtagFingerprint bsFingerprint$fBinaryTagLead$fBinaryTagFingerprint$fBinaryTagged$fShowTagFingerprint$fGenericTagFingerprint$fEqTagFingerprint$fOrdTagFingerprint $fShowTagged $fEqTagged$fGenericTagged encodeTagged decodeTaggedTagLeadbaseData.Typeable.InternalTypeablebytestring-0.10.8.1Data.ByteString.Lazy.Internal ByteStringTagFP leadingBytes