так. признаю, мне немного вынесла мозг вот эта часть
https://youtu.be/rHIkrotSwcc?t=1541 :
"we pass unique_ptr by value, and we expect someone to move from it. but if the move does not happen, then we have to clean up"
как это возможно?.. я переместил свой юникптр в параметр функции. мой юникптр точно останется пустым. а что там будет происходить с параметром функции мне уже не очень важно - она сама разберётся. и почистит, если надо. как такое может быть, что мне самому придётся чистить?..