Recursive functions need to be made lazy