whole_func_string: function(ast) {
        let detected = [];
  
        ast.traverse(function(node) {
          if (!node.is('atrulers') && !node.is('block')) return;
  
          if (node.length === 0 ||
              (node.length === 1 && node.first().is('space'))) {
            detected.push(false);
          }
        });
  
        return detected;
      }
func_code_string: function(ast) {
        let detected = [];
  
        ast.traverse(function(node) {
          if (!node.is('atrulers') && !node.is('block')) return;
  
          if (node.length === 0 ||
              (node.length === 1 && node.first().is('space'))) {
            detected.push(false);
          }
        });
  
        return detected;
      }
func_documentation_string: Detects the value of an option at the tree node.
  This option is treated as `true` by default, but any trailing space
  would invalidate it.
  
  @param {node} ast