В языке Ante есть понятие shape-stability — ссылка на данные, чья «форма» (структура) не меняется, остаётся валидной независимо от других мутаций. Благодаря этому Ante разрешает сразу несколько изменяемых (mut) ссылок на одну и ту же структуру — то, что строго запрещено в Rust и Swift.
Разберём на примере. Есть тип Entity с полями energy и health. Функция heal принимает две mut Entity — лекаря и цель, списывает энергию и добавляет здоровье. В Ante можно вызвать heal с одним и тем же Entity: self_heal(entity) передаёт entity в оба параметра. Компилятор пропускает, потому что ни одна мутация не может уничтожить сам Entity — ссылки остаются валидными. Rust бы такое завернул: у него нельзя иметь два &mut на одни данные.
Ещё более сложный случай — вложенные структуры. Тип Spaceship содержит поле engine типа Engine и строку name. Функция refuel принимает mut Spaceship, внутри создаёт engine_alias: mut Engine = ship.engine — отдельную изменяемую ссылку на двигатель, а затем одновременно меняет ship.engine.fuel и engine_alias.fuel. Ante знает: пока ship жив и не уничтожен, его engine и fuel тоже в безопасности. Форма стабильна — структура не исчезнет. Поэтому код корректен.
В Rust такая ситуация привела бы к ошибке заимствования (cannot borrow ship.engine as mutable more than once). Swift со своим эксклюзивным доступом тоже бы не пропустил. Ante же использует shape-stability, чтобы ослабить правила — и при этом остаётся memory-safe, потому что гарантирует неизменность макета объекта на время жизни ссылок. Разработчики добавляют, что механизм работает и с reference counting, но в статье это только упомянуто.