Ведь у тебя может вызываться процедура из процедуры, а та из процедуры...И если пользователь, вызывая процедуру верхнего кажет только 1 параметр, ты не задолбаешься все варианты в процедурах ручками учитывать? ;-)
Может сразу ленивые вычисления реализовать? Как в хаскеле? ;-)