private Result <IEnumerable <string> > ProcessWords(IEnumerable <string> words, IWordProcessor processor) { return(Result.Of(() => words.Select(word => { var processed = processor.Process(word); return processed.IsSuccess ? processed.GetValueOrThrow() : word; }))); }
public IWordStore Process(IWordProcessor processor) { return(new BasicWordStore(processor.Process(Words))); }