I have taken a look at a C# `struct FooStruct` in [ILDASM](http://msdn.microsoft.com/en-us/library/f7dy01k1.aspx), and have seen the following:

![enter image description here](https://i.stack.imgur.com/FYMtF.png)

ILDASM here displays two differing declarations:

* one starting with `.class` **`value`** `public` (rear window & front window's title bar)
* one starting with just `.class public` (front window)

And I wonder which syntax (if not both) is the correct one for declaring a value type? Is the `value` modifier strictly necessary, or optional, or a syntax error?