> What's the difference between have the : and not having it. I've seen both
> cases in the docs and code.
Perhaps what you've seen is passing blocks of code using the colon like this?
template foo(actions: untyped): untyped =
actions
foo:
# anything here gets passed as the actions parameter
echo "Hello"
Note that the template definition still uses '=' to define where the code body
of the template states (as with proc), but using ':' when _calling_ foo allows
you to pass the indented block to the parameter _actions_.