В Common Intermediate Language (CIL) мы можем создавать экземпляры классов, которые не являются статическими. Это имеет смысл, если нам нужно хранить данные экземпляра между вызовами методов. Почему это необходимо в CIL, где все в любом случае находится в стеке? В CIL нет данных экземпляра, зачем мне экземпляр? Или виноват компилятор: почему компилятор не компилирует каждый метод статическим в CIL? Я предполагаю, что информацию о коде более высокого уровня можно извлечь из CIL. Это, вероятно, звучит глупо для опытного программиста CIL, потому что это может быть совершенно неправильно, но я только начинаю вникать в это.
Приветствуются любые разъяснения.