А на более глубоком уровне это например Rust, который избавляет от вопросов мув-операций, потому что ответ всегда один: тип или примитивно копируемый, или он всегда кроме явных мест перемещается и процесс перемещения тривиален до уровня бит.
ну это не до конца правильно. Допустим есть класс, который на куче держит ноду, ссылающуюся на него же. Типа A->B, B->A. При муве A надо поменять указатель B->A иначе UB. При только тривиальных мувах такое не получится сделать