What wrong with the following indirect reference? <attributes:{ a | <a:(write<typeMap.(a.type)>)> }> typeMap ::= [ "int":"INTEGER", "string":"STRING", default:"OBJECT" ] writeSTRING(a) ::= << // STRING >> writeINTEGER(a) ::= << // INT >> writeOBJECT(a) ::= << // OBJECT >> cheers -- Torsten