As you know casbah mongodb driver has an update function like this :
def update [A, B] (q: A, o: B)(implicit arg0: (A) ⇒ DBObject, arg1: (B) ⇒ DBObject) : WriteResult
I think i understand currying concept of scala. However, As far as I know this update function is supposed to be used like this :
collection.update(MongoDBObject(...), MongoDBObject(...))
This confuses me. As I do not fill second argument list of the update method, I would think above expression would return a function like :
(implicit arg0: (A) ⇒ DBObject, arg1: (B) ⇒ DBObject) => WriteResult
However it does not. Is it because of the implicit definiton for the arguments in the second function argument list ?