docs: function collect(node, options, context, variables={}) {
      for (let rule of node.rules) {
          if (rule.isRuleset)
              collect(rule, options, context, variables);
          else if (rule.importedFilename)
              collect(rule.root, options, context, variables);
          else if (rule.variable === true) {
              const name = rule.name.substring(1);
              const value = rule.value.eval(context);
  
              // save under all aliases
              for (let fn of options.rename) {
                  variables[ fn(name) ] = toJS(value, options, context);
              }
          }
      }
  
      return variables;
  }