úÎ!*+(U      BSD-3-Clause Trustworthy =?@ACHV(newtypeGiven a newtype n., we will always have the same unwrapped type o., meaning we can represent this with a fundep n -> o.-Any instance of this class just needs to let - equal to the newtype's constructor, and let  destruct the newtype with pattern matching.newtype"This function serves two purposes: Giving you the unpack of a newtype* without you needing to remember the name.$Showing that the first parameter is completely ignoredƒ on the value level, meaning the only reason you pass in the constructor is to provide type information. Typeclasses sure are neat.newtypeÃThe workhorse of the package. Given a pack and a "higher order function", it handles the packing and unpacking, and just sends you back a regular old function, with the type varying based on the hof$ (higher-order function) you passed.2The reason for the signature of the hof is due to f not caring about structure. To illustrate why this is important, another function in this package is . It is not extremely useful; under2" might be more useful (with e.g., 9), but then we already digging the trench of "What about under3? under4¸?". The solution utilized here is to just hand off the "packer" to the hof. That way your structure can be imposed in the hof, whatever you may want it to be (e.g., List, Traversable).newtypeXThis is the original function seen in Conor McBride's work. The way it differs from the ‡ function in this package, is that it provides an extra hook into the "packer" passed to the hof. However, this normally ends up being , so  wraps this function and passes „ as the final parameter by default. If you want the convenience of being able to hook right into the hof, you may use this function.newtypewA very simple operation involving running the function "under" the newtype. Suffers from the problems mentioned in the  function's documentation.newtypeThe opposite of t. I.e., take a function which works on the underlying types, and switch it to a function that works on the newtypes.newtype lifted into a  . newtype lifted into a  . newtypeNOTE&: Type & instance only available with  base "e 4.12.0 newtype newtype newtypeNOTE&: Type & instance only available with  base "e 4.6.0newtypeNOTE&: Type & instance only available with  base "e 4.8.0newtypenewtypenewtype   !      !" !# !$%&newtype-0.2.1.0-9Kg8oHCEa4KHY86ixQzh8LControl.NewtypeNewtypepackunpackopalaala'underoverunderFoverF $fNewtypeApf$fNewtypeComposef$fNewtypeIdentitya$fNewtypeDowna $fNewtypeAltf$fNewtypeDuala$fNewtypeFixedInteger$fNewtypeArrowMonada$fNewtypeLastMaybe$fNewtypeFirstMaybe$fNewtypeEndo->$fNewtypeConsta$fNewtypeZipList[]$fNewtypeWrappedArrowa$fNewtypeWrappedMonadm$fNewtypeKleisli->$fNewtypeProducta $fNewtypeSuma$fNewtypeAnyBool$fNewtypeAllBoolbaseGHC.BasemappendidFunctor