module HaskellWorks.Data.Naive
    ( Naive(..)
    , naive
    ) where

newtype Naive a = Naive a deriving (Naive a -> Naive a -> Bool
(Naive a -> Naive a -> Bool)
-> (Naive a -> Naive a -> Bool) -> Eq (Naive a)
forall a. Eq a => Naive a -> Naive a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Naive a -> Naive a -> Bool
$c/= :: forall a. Eq a => Naive a -> Naive a -> Bool
== :: Naive a -> Naive a -> Bool
$c== :: forall a. Eq a => Naive a -> Naive a -> Bool
Eq, Int -> Naive a -> ShowS
[Naive a] -> ShowS
Naive a -> String
(Int -> Naive a -> ShowS)
-> (Naive a -> String) -> ([Naive a] -> ShowS) -> Show (Naive a)
forall a. Show a => Int -> Naive a -> ShowS
forall a. Show a => [Naive a] -> ShowS
forall a. Show a => Naive a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Naive a] -> ShowS
$cshowList :: forall a. Show a => [Naive a] -> ShowS
show :: Naive a -> String
$cshow :: forall a. Show a => Naive a -> String
showsPrec :: Int -> Naive a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> Naive a -> ShowS
Show)

naive :: Naive a -> a
naive :: Naive a -> a
naive (Naive a
a) = a
a
{-# INLINE naive #-}