public HashMap<String,Nominal> fields() {
HashMap<String,Nominal> r = new HashMap<String,Nominal>();
HashMap<String,Type> nominalFields = nominal.fields();
for(java.util.Map.Entry<String, Type> e : raw.fields().entrySet()) {
String key = e.getKey();
Type rawField = e.getValue();
Type nominalField = nominalFields.get(key);
r.put(e.getKey(), Nominal.construct(nominalField,rawField));
}
return r;
}