L'absence de constructeur implicite est ennuyante oui (ça ne permet justement pas du tout d'écrire un code similaire au mien, et ça oblige tout le monde à utiliser des unique_ptr, alors que dans mon cas tu choisis : l'API te permet de le faire, mais si tu veux passer des pointeurs standard tu peux). Et pour le reste il faut passer par des std::move et ce n'est pas forcément clair pourquoi (je n'arrive plus à m'en rappeler justement

).
Mais basiquement oui c'est similaire à unique_ptr, avec juste pour but d'être plus clair et simple à comprendre/utiliser.