diff --git a/runtime/autoload/dist/vimindent.vim b/runtime/autoload/dist/vimindent.vim
index 8d86543..1306d1e 100644
--- a/runtime/autoload/dist/vimindent.vim
+++ b/runtime/autoload/dist/vimindent.vim
@@ -1121,13 +1121,8 @@
 enddef
 
 def InCommentOrString(): bool # {{{3
-    for synID: number in synstack('.', col('.'))
-        if synIDattr(synID, 'name') =~ '\ccomment\|string\|heredoc'
-            return true
-        endif
-    endfor
-
-    return false
+    return synstack('.', col('.'))
+        ->indexof((_, id: number): bool => synIDattr(id, 'name') =~ '\ccomment\|string\|heredoc') >= 0
 enddef
 
 def AlsoClosesBlock(line_B: dict<any>): bool # {{{3
diff --git a/runtime/autoload/python.vim b/runtime/autoload/python.vim
index 1eaad09..d5f4862 100644
--- a/runtime/autoload/python.vim
+++ b/runtime/autoload/python.vim
@@ -22,8 +22,7 @@
 function s:SearchBracket(fromlnum, flags)
   return searchpairpos('[[({]', '', '[])}]', a:flags,
           \ {-> synstack('.', col('.'))
-          \   ->map({_, id -> id->synIDattr('name')})
-          \   ->match('\%(Comment\|Todo\|String\)$') >= 0},
+          \ ->indexof({_, id -> synIDattr(id, 'name') =~ '\%(Comment\|Todo\|String\)$'}) >= 0},
           \ [0, a:fromlnum - s:maxoff]->max(), g:python_indent.searchpair_timeout)
 endfunction
 
@@ -157,15 +156,13 @@
     " the start of the comment.  synID() is slow, a linear search would take
     " too long on a long line.
     if synstack(plnum, pline_len)
-    \ ->map({_, id -> id->synIDattr('name')})
-    \ ->match('\%(Comment\|Todo\)$') >= 0
+    \ ->indexof({_, id -> synIDattr(id, 'name') =~ '\%(Comment\|Todo\)$'}) >= 0
       let min = 1
       let max = pline_len
       while min < max
 	let col = (min + max) / 2
         if synstack(plnum, col)
-        \ ->map({_, id -> id->synIDattr('name')})
-        \ ->match('\%(Comment\|Todo\)$') >= 0
+        \ ->indexof({_, id -> synIDattr(id, 'name') =~ '\%(Comment\|Todo\)$'}) >= 0
 	  let max = col
 	else
 	  let min = col + 1
