public class Foo { public string prop { construct; get; } }
Pure-Vala and lightweight class. This is useful if you need a compromise between efficiency of a struct and the feature of a full blown GObject class.
struct