module Sources where import Data.ByteString (ByteString) data Source a where Data :: a -> Source a class SourceState a where stateOfSource :: a -> IO ByteString instance SourceState FilePath where stateOfSource = undefined