];
							}
						}

						// Update references in other language definitions
						_.languages.DFS(_.languages, function(key, value) {
							if (value === root[inside] && key != inside) {
								this[key] = ret;
							}
						});

						return root[inside] = ret;
					},

					// Traverse a language definition with Depth First Search
					DFS: function(o, callback, type, visited) {
						visited = visited || {};
						for (var i in o) {
							if (o.hasOwnProperty(i)) {
								callback.call(o, i, o[i],