tailToIORef :: (FilePath -> IO ()) -> FilePath -> IO Data.ByteString.ByteString
tailToIORef writer filepath =
  do ref <- newIORef mempty
     let addToRef _ bytes = modifyIORef' ref (\b -> b <> bytes) 
     runConceit (Conceit (Left <$> (halfsec *> halfsec *> writer filepath))    
                 *> 
                 _Conceit (tailFile filepath addToRef (pure ())))
     readIORef ref 
tailToIORef :: (FilePath -> IO ()) -> FilePath -> IO Data.ByteString.ByteString
tailToIORef writer filepath =
  do ref <- newIORef mempty
     let addToRef _ bytes = modifyIORef' ref (\b -> b <> bytes) 
     runConceit (Conceit (Left <$> (halfsec *> halfsec *> writer filepath))    
                 *> 
                 _Conceit (tailFile filepath addToRef (pure ())))
     readIORef ref 
tailToIORef writer filepath =
  do ref <- newIORef mempty
     let addToRef _ bytes = modifyIORef' ref (\b -> b <> bytes) 
     runConceit (Conceit (Left <$> (halfsec *> halfsec *> writer filepath))    
                 *> 
                 _Conceit (tailFile filepath addToRef (pure ())))
     readIORef ref 