:: [Pos] -> T.Text -> Pos -> [Pos]
fooT found chars usepos
  | T.length chars == 0 = found
  | otherwise = fooT (found ++ [usepos]) rest (nextpos c usepos)
  where
    c = T.head chars
    rest = T.tail chars


ra
fooT :: [Pos] -> T.Text -> Pos -> [Pos]
fooT found chars usepos
  | T.length chars == 0 = found
  | otherwise = fooT (found ++ [usepos]) rest (nextpos c usepos)
  where
    c = T.head chars
    rest = T.tail chars
fooT found chars usepos
  | T.length chars == 0 = found
  | otherwise = fooT (found ++ [usepos]) rest (nextpos c usepos)
  where
    c = T.head chars
    rest = T.tail chars