Per ridurre la signatura delle variabili locali, IL permette di specificarle in degli slot indicizzati: [0], [1], etc. così da poter condividere uno slot con più variabili locali dello stesso tipo. Per esempio, a questo metodo Main:
static void Main()
{
  int i = 1;
} 
corrisponde questo codice IL in seguito a una compilazione con /debug+
.method private hidebysig static void Main() cil managed
{
  .entrypoint
  .maxstack 1
  .locals init ([0] int32 i)
  ldc.i4.1
  stloc.0
  ret
}
in cui si nota lo slot [0] per la variabile i. Però, se si compila con /debug-, lo slot sparisce:
.method private hidebysig static void Main() cil managed
{
  .entrypoint
  .maxstack 1
  .locals init (int32 V_0)
  ldc.i4.1
  stloc.0
  ret
}
Strano, mi aspettavo a un comportamento al contrario.