code: func Lint(node ast.Node, e *ErrorWriter) {
  	lintingInfo := LintingInfo{
  		variables: nil,
  	}
  	std := variable{
  		name:     "std",
  		declNode: nil,
  		uses:     nil,
  		param:    false,
  	}
  	findVariables(node, &lintingInfo, vScope{"std": &std})
  	for _, v := range lintingInfo.variables {
  		if len(v.uses) == 0 && !v.param {
  			e.writeError(parser.MakeStaticError("Unused variable: "+string(v.name), *v.declNode.Loc()))
  		}
  	}
  }
docs: // Lint analyses a node and reports any issues it encounters to an error writer.