returns really underscored name
given a string like ‘foo: expr’ returns {key => value}
given a string like ‘foo: "bar", bar: "baz"’ returns {"foo" => "bar", "bar" => "baz"}
return [factory_name, name or integer index]
[Validate]