searchFile :: ([ByteString] -> (Match,[ByteString])) -> ByteString -> [Match]
searchFile pred file = let lns = lines file
  in evalState (searchComp pred) lns
searchFile :: ([ByteString] -> (Match,[ByteString])) -> ByteString -> [Match]
searchFile pred file = let lns = lines file
  in evalState (searchComp pred) lns
searchFile pred file = let lns = lines file
  in evalState (searchComp pred) lns