recursion(partial) docs