    {-# OPTIONS_GHC -fno-warn-orphans #-}
    module Data.Binary.Instances.Hashable where

    import Data.Binary.Orphans ()

    import           Data.Binary   (Binary, get, put)
    import qualified Data.Hashable as Hashable

    instance (Hashable.Hashable a, Binary a) => Binary (Hashable.Hashed a) where
        get :: Get (Hashed a)
    get = (a -> Hashed a) -> Get a -> Get (Hashed a)
    forall a b. (a -> b) -> Get a -> Get b
    forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
    fmap a -> Hashed a
    forall a. Hashable a => a -> Hashed a
    Hashable.hashed Get a
    forall t. Binary t => Get t
    get
        put :: Hashed a -> Put
    put = a -> Put
    forall t. Binary t => t -> Put
    put (a -> Put) -> (Hashed a -> a) -> Hashed a -> Put
    forall b c a. (b -> c) -> (a -> b) -> a -> c
    . Hashed a -> a
    forall a. Hashed a -> a
    Hashable.unhashed