module dast.map; struct Map { string[string] data; alias data this; @safe nothrow: auto opIndex(in char[] key) const { if (auto p = key in data) return *p; return null; } void opIndexAssign(in string value, in char[] key) pure { data[key] = value; } auto opDispatch(string key)() const => this[key]; auto opDispatch(string key)(string value) => data[key] = value; }