Consider this simple testcase:
var x = document.documentElement.dataset;
var s = Symbol("foo");
Object.defineProperty(x, s, { value: "hey" });
What should happen? We land in http://heycam.github.io/webidl/#defineownproperty and the interface supports named properties. s is not a supported property name, so creating ends up true. There is a named property setter, so we're supposed to invoke the named property setter... but P is a symbol and named property setters expect strings.
Seems to me like all the named property stuff should be skipped for symbol names or something.