anchor.diff:                "version" : nextVersion
               }));
           }
  -      }).then((_) => _release_locks());
  +      },
  +      onError: (e) {
  +        print(e);
  +        // Errors thrown by MongoDatabase are Map objects with fields err, code,
  +        // ...
  +        throw new MongoException(e);
  +      }
  +      ).then((_) => _release_locks());
     }
   
     Future remove(String _id, String author) {
  
positive.code:    final String msg;
     const DiffNotPossibleException([this.msg]);
     String toString() => msg == null ? 'DiffNotPossible' : msg;
  }
  
  const String QUERY = "\$query";
  
negative.code:               "version" : nextVersion
            }));
          }
        },
        onError: (e) {
          print(e);
          // Errors thrown by MongoDatabase are Map objects with fields err, code,
          // ...
          throw new MongoException(e);
        }
        ).then((_) => _release_locks());
    }
  
    Future<Map> diffFromVersion(num version) {
  