É isso.
Em ambos os casos, o normal é usar funções auxiliares. Por exemplo, na teórica 2, a definição circular de zints usa a função auxiliar zadd e a definição direta de zints usa a função auxiliar zcount_from.
O que muda é a atitude. Por exemplo, numa definição direta geramos a os valores da sequência de forma direta e explícita, um de cada vez, de acordo com uma regra que temos de inventar.