public override async IAsyncEnumerable <Path> ComputeSelect(EvaluationContext ctx) { var ctxClone = ctx.Clone(); ctxClone.SetLocalVariable(VariableName, new EvaluationVariable( eval: TemplateUtil.VariableThatThrows(varName: VariableName), // This is what makes it a "static" context pathsResolver: () => AsyncUtil.Singleton(Path.Empty(QueryInfo)) )); await foreach (var path in Inner.ComputeSelect(ctxClone)) { yield return(path); } }