Nim is cited pragraph 2.2
These “scoped life-time” reference counts are used by the C++ shared_ptr⟨T⟩(calling the destructor at the end of the scope), Rust’s Rc⟨T⟩(using the Drop trait), and Nim (using a finally block to call destroy) [48]. It is not required by the semantics, but Swift typically emits code like this as well [11].