proc forEach(callback: TCallback) =
instead of proc forEach(callback: proc (x: int))
simple, clear and you don't need to be jumping across the code for check the type from the procedure
so I'm curious, what is the reason about this approach, is an "acquired taste" from araq :D ...or are there other motives...
simple, clear
Simple and clear for single time use, for multiple times?
you don't need to be jumping across the code for check the type from the procedure
The header compatibility must always be checked, it's a bit harder with untyped procedural type
instead of proc forEach(callback: proc (x: int))
That works. You don't need to define a type.