// 2025-2026 Богданович Давид Когут Прихожденко (кдб.дійсність.укр)

взяти визначення мавка/машина;

простір мавка {
  дія створити_складений_предмет(
    М: *Машина,
    значення_класу: *ПредметКласу
  ) -> *СкладенийПредмет {
    змінна предмет = виділити_предмет<СкладенийПредмет>(М, значення_класу);

    предмет.властивості = Призначення { 0, пусто, 0 };

    вернути предмет;
  }

  дія складений_предмет_отримати_властивість(
    М: *Машина,
    складений_предмет: *СкладенийПредмет,
    назва: *ПредметТексту,
    місцезнаходження: Місцезнаходження
  ) -> ЗначенняАбоСтанПадіння {
    змінна результат = НЕДІЙСНЕ;

    якщо знайти_призначене(
      М,
      складений_предмет.властивості,
      назва,
      результат::адреса
    ) {
      вернути результат;
    }

    змінна предмет_методу = знайти_метод_в_класі(
      М,
      складений_предмет.клас,
      назва
    );

    якщо предмет_методу == пусто {
      вернути НЕДІЙСНЕ;
    }

    вернути ПРЕДМЕТ(предмет_методу);
  }

  дія складений_предмет_змінити_властивість(
    М: *Машина,
    складений_предмет: *СкладенийПредмет,
    назва: *ПредметТексту,
    значення: Значення,
    місцезнаходження: Місцезнаходження
  ) {
    призначити(
      М,
      складений_предмет.властивості::адреса,
      назва,
      значення
    );
  }
}