-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | The 1-tuple type or single-value "collection"
--   
--   This package provides a canonical anonymous 1-tuple type missing from
--   Haskell for attaching typeclass instances.
--   
--   NOTE: There is also the <a>OneTuple package</a> which by using a boxed
--   <tt>data</tt>-type provides a 1-tuple type which has laziness
--   properties which are more faithful to the ones of Haskell's native
--   tuples; whereas the primary purpose of <a>Only</a> is to provide the
--   traditionally so named type-wrapper for attaching typeclass instances.
@package Only
@version 0.1

module Data.Tuple.Only

-- | The 1-tuple type or single-value "collection".
--   
--   This type is structurally equivalent to the <a>Identity</a> type, but
--   its intent is more about serving as the anonymous 1-tuple type missing
--   from Haskell for attaching typeclass instances.
--   
--   Parameter usage example:
--   
--   <pre>
--   encodeSomething (<a>Only</a> (42::Int))
--   </pre>
--   
--   Result usage example:
--   
--   <pre>
--   xs &lt;- decodeSomething
--   forM_ xs $ \(<a>Only</a> id) -&gt; {- ... -}
--   </pre>
newtype Only a
Only :: a -> Only a
[fromOnly] :: Only a -> a
instance GHC.Internal.Data.Data.Data a => GHC.Internal.Data.Data.Data (Data.Tuple.Only.Only a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Tuple.Only.Only a)
instance GHC.Internal.Base.Functor Data.Tuple.Only.Only
instance GHC.Internal.Generics.Generic (Data.Tuple.Only.Only a)
instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Data.Tuple.Only.Only a)
instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Tuple.Only.Only a)
instance GHC.Internal.Read.Read a => GHC.Internal.Read.Read (Data.Tuple.Only.Only a)
instance GHC.Internal.Show.Show a => GHC.Internal.Show.Show (Data.Tuple.Only.Only a)
