anchor.diff:    return completer.future;
   }
   
  +// TODO: move to bot?
   Stream _streamFromIterableFuture(Future<Iterable> future) {
     final controller = new StreamController();
   
  
positive.code: abstract class EntityValidator {
  
    static Stream<String> validateFileStringContent(File entity,
        String targetContent) =>
            validateFileContentSha(entity, _getStringSha1(targetContent));
  
    static Stream<String> validateFileContentSha(File entity, String targetSha) {
      if(entity is! File) {
  
negative.code:   return controller.stream;
  }
  
  // TODO: move to bot?
  Future _pipeStreamToController(StreamController controller, Stream input) {
    final completer = new Completer();
  
  