vim9script # Vim9 tuples # https://github.com/vim/vim/pull/16935#issuecomment-2738310273 function LegacyMakeEntry(key, value) abort return (a:key, a:value) endfunction def MakeEntry(key: string, value: any): tuple return (key, value) enddef function LegacyMakeLazyList(e1, e2) abort return ({e1_, e2_ -> {-> [e1_, e2_]}}(a:e1, a:e2)) endfunction def MakeLazyList(e1: any, e2: any): func(): list return (((e1_: any, e2_: any) => () => [e1_, e2_])(e1, e2)) enddef echo MakeEntry('key', 'value') == list2tuple(MakeLazyList('key', 'value')()) echo LegacyMakeEntry('key', 'value') == list2tuple(LegacyMakeLazyList('key', 'value')())