Combination recursion and norecursion