Closures have extra problems related to type instability. See this answer of mine. If you hit the problem with type-unstable closures you may want to use the callable structs described there. However, I am not sure if you should not simply pass a function (without captured arguments) and pass the arguments down the chain with args...
as other pointed out.