String interpolations may also be used in field names.
One cannot refer to generated fields with references.
sandwich: { type: "Cheese" "has\(type)": true hasButter: true butterAndCheese: hasButter && hasCheese }
sandwich: { type: "Cheese" hasCheese: true hasButter: true butterAndCheese: _|_ // unknown reference 'hasCheese' }