想不明白这个函数的递归顺序

正在学习python中函数的递归。

List2 = [1, [90, 80.2], 4, [5, 6, 7, 8, [6, 3, 2]]]

def rec_sum(List2):
    sums = 0
    for i in List2:
        if type(i) is list:
            ret = rec_sum(i) 
            sums += ret # 这行代码在这起什么用作?什么时候再继续执行?
                      
        elif type(i) is int or type(i) is float:
            sums += i
                        
    return sums # 都什么时候返回一个sums值

rec_sum(List2)

我查到的知识,在调用函数本身时,它之后的代码并没有结束,而是在等待条件为False 时,再接着执行之后的代码。但不会用在这个函数的运行过程解释。
想了许久,也看了些文章。但还是无法自行看懂这个嵌套列表的递归是怎么一步一步进行的,请求详尽解释。