       return callback err if err
 
       session.getPropositions [proposition.sha1()], (err, props) ->
-        return callback err if err
-        return callback null if props.length > 0
+        if err or props.length > 0
+          return session.finalize err, callback
 
         queries = [
           Queries.insertObject(proposition)


      sha1 = argument.sha1()
      session.getArguments [sha1], (err, args) ->
        if err or args[0]?
          return session.finalize err, callback

        async.series [

      return callback err if err

      session.getTags [tag.sha1()], (err, tags) ->
        if err or tags.length > 0
          return session.finalize err, callback

        queries = [
          Queries.insertObject(tag)
