 atomicMapXor    = hyperclientMapOp OpAtomicMapXor 
 atomicMapStringPrepend = hyperclientMapOp OpAtomicMapStringPrepend
 atomicMapStringAppend  = hyperclientMapOp OpAtomicMapStringAppend 
-
--- hyperMapInsertConditional :: Client -> Text -> ByteString -> [AttributeCheck] -> [MapAttribute] -> AsyncResult ()
--- hyperMapInsertConditional c s k checks attrs = withClient c $ \hc -> hyperclientConditionalMapInsert hc s k checks attrs
 
 -- int64_t
 -- hyperclient_put(struct hyperclient* client, const char* space, const char* key,

-- /home/cloudium/git/hyhac/dist/build/libHShyhac-0.2.0.0_p.a(Hyperclient.p_o): In function `sdm2_info':
-- /tmp/ghc20379_0/ghc20379_1.p_o:(.text+0x3dc85): undefined reference to `hyperclient_cond_map_add'

--hyperclientConditionalMapInsert :: Hyperclient -> Text -> ByteString
--                                -> [AttributeCheck]
--                                -> [MapAttribute]
--                                -> AsyncResultHandle ()
--hyperclientConditionalMapInsert client s k checks mapAttributes = do
--  returnCodePtr <- new (fromIntegral . fromEnum $ HyperclientGarbage)
--  space <- newTextUtf8 s
--  (key,keySize) <- newCBStringLen k
--  (checkPtr, checkSize) <- newHyperDexAttributeCheckArray checks
--  (mapAttributePtr, mapAttributeSize) <- newHyperDexMapAttributeArray mapAttributes
--  handle <- {# call hyperclient_cond_map_add #}
--              client space
--              key (fromIntegral keySize)
--              checkPtr (fromIntegral checkSize)
--              mapAttributePtr (fromIntegral mapAttributeSize)
--              returnCodePtr
--  let continuation = do
--        returnCode <- fmap (toEnum . fromIntegral) $ peek returnCodePtr
--        free returnCodePtr
--        free space
--        free key
--        --haskellFreeMapAttributes mapAttributePtr mapAttributeSize
--        return $ 
--          case returnCode of 
--            HyperclientSuccess -> Right ()
--            _                  -> Left returnCode
--  return (handle, continuation)
--{-# INLINE hyperclientConditionalMapInsert #-}

-- int64_t
-- hyperclient_search(struct hyperclient* client, const char* space,

  , atomicSetUnion, atomicSetIntersect
    -- Atomic simple map operations
  , atomicMapInsert, atomicMapDelete
  -- , atomicConditionalMapInsert
    -- Atomic numeric value operations
  , atomicMapAdd, atomicMapSub
  , atomicMapMul, atomicMapDiv
