By default luadoc convention, function definitions can not be used as type directly, you need to link them by callof annotation.
Lua Code:
---
--@type StringProvider
---
-- @callof #StringProvider
-- @return #string
local function MyStringProvider()
return ""
end
--- @param #StringProvider stringProvider
local f = function(stringProvider)
return function(n)
local s = stringProvider()
return n == s:l
end
end