private static Result Grep(Evaluator.Args args) { var pattern = args[0]; var flip = args.HasSwitch("v"); return(args .Skip(1) .SelectMany(result => result) .Where(obj => flip ^ args.Matches(args.Preview(obj), pattern)) .ToArray()); }