CRUD results and tests 

check if bulk write is engaged
auto result = bulk_write(bulk_op);
if (! result) {
  return optional<result::update> ()
}
return optional<result::update> (std::move(result.value))