sclass Meta { // We allocate one extra field for each Java object to make it // reasoning-compatible. We couldn't go for 0 extra fields and // there are no half fields in Java... so there you go. // Also, if you don't use any meta data, you are probably not // reasoning about anything. The point of reasoning in JavaX is // to attach information to objects directly used in the program. // So here it is. The field. // generic meta value of any kind (e.g. Map with extra field values) // volatile to avoid synchronization volatile O meta; }