module Sources where import Types 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 instance SourceState Image where stateOfSource = undefined instance SourceState (String, FilePath) where stateOfSource = undefined