Avoid allocating empty lists dynamically

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Refactor specialization logic to the nodes

- ported from OMOP branch

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Added specialization for #downTo:do:

Signed-off-by: Stefan Marr <git@stefan-marr.de>