packages feed

fei-base 0.2.0.0 → 1.0.0

raw patch · 30 files changed

+17144/−127340 lines, 30 filesdep +attoparsecdep +deepseqdep +lensdep −c2hs-extradep −directorydep −fei-basedep ~tuple-opsdep ~vector

Dependencies added: attoparsec, deepseq, lens, rio, store

Dependencies removed: c2hs-extra, directory, fei-base, filepath, mtl, text

Dependency ranges changed: tuple-ops, vector

Files

README.md view
@@ -1,14 +1,13 @@-# mxnet-hs+# fei-base ## build-+ LD_LIBRARY_PATH=<path-to-incubator-mxnet-lib> stack build fei-base--## generate MXNet operators-+ the repository ships pre-generated operators for various version MXNet.-+ You can generate your own with the utility `mxnet-op-gen`: -  + `LD_LIBRARY_PATH=<path-to-incubator-mxnet-lib> mxnet-op-gen -o <directory-for-ops-code>`++ Update stack.yml, pointing to the actuall MXNet dynamic library folder and include folder.++ Build utility **mxnet-op-gen**: `stack build fei-base:mxnet-op-gen`++ Generate tensor operations: `LD_LIBRARY_PATH=<path-to-mxnet-lib> stack exec mxnet-op-gen -- -o ops/1.6`++ Rebuild library with tensor operations: `stack build --flag fei-base:-mxnet_geq_10600`  ## see also + https://github.com/pierric/fei-nn-+ https://github.com/pierric/fei-dataiter + https://github.com/pierric/fei-cocoapi++ https://github.com/pierric/fei-datasets++ https://github.com/pierric/fei-modelzoo + https://github.com/pierric/fei-examples
c-apis/MXNet/Base.hs view
@@ -3,15 +3,17 @@     module MXNet.Base.Raw,     module MXNet.Base.Symbol,     module MXNet.Base.NDArray,+    module MXNet.Base.Tensor,     module MXNet.Base.Executor,     module MXNet.Base.Spec.HMap,-    module MXNet.Base.Spec.Operator ,+    module MXNet.Base.Spec.Operator, ) where -import MXNet.Base.Types-import MXNet.Base.Raw-import MXNet.Base.Symbol-import MXNet.Base.NDArray-import MXNet.Base.Executor-import MXNet.Base.Spec.HMap-import MXNet.Base.Spec.Operator+import           MXNet.Base.Executor+import           MXNet.Base.NDArray+import           MXNet.Base.Raw+import           MXNet.Base.Spec.HMap     (HMap (..), (.&))+import           MXNet.Base.Spec.Operator+import           MXNet.Base.Symbol+import           MXNet.Base.Tensor+import           MXNet.Base.Types
c-apis/MXNet/Base/Executor.hs view
@@ -1,10 +1,64 @@+{-# LANGUAGE LambdaCase      #-}+{-# LANGUAGE RecordWildCards #-} module MXNet.Base.Executor where -import qualified MXNet.Base.Raw as I-import MXNet.Base.Types (ForeignData(..))+import           GHC.Generics       (Generic, Generic1)+import           RIO+import           RIO.List           (scanl, unzip)+import qualified RIO.NonEmpty       as RNE +import           MXNet.Base.NDArray (NDArray (..))+import qualified MXNet.Base.Raw     as I+import           MXNet.Base.Types   (Context (..), ForeignData (..))  newtype Executor a = Executor { unExecutor :: I.ExecutorHandle }+    deriving (Generic, Generic1, Show)  instance ForeignData (Executor a) where     touch = I.touchExecutorHandle . unExecutor++instance NFData (Executor a)++execGetOutputs :: Executor a -> IO [NDArray a]+execGetOutputs (Executor hdl) = do+    arrhdls <- I.mxExecutorOutputs hdl+    return $!! map NDArray arrhdls++execForward :: Executor a -> Bool -> IO ()+execForward (Executor hdl) = I.mxExecutorForward hdl++execBackward :: Executor a -> [NDArray a] -> IO ()+execBackward (Executor hdl) arrs = I.mxExecutorBackward hdl (map unNDArray arrs)++execReshapeEx :: Executor a -> Bool -> Bool -> Context -> [(Text, NonEmpty Int)] -> IO ([NDArray a], [Maybe (NDArray a)], [NDArray a], Executor a)+execReshapeEx (Executor hdl) partial_shaping allow_up_sizing Context{..} input_shapes = do+    let (names, shapes) = unzip input_shapes+        arg_ind = scanl (+) 0 $ map length shapes+        arg_shp = concatMap RNE.toList shapes+    (new_arg_in, new_arg_grad, new_arg_aux, new_hdl) <- I.mxExecutorReshapeEx+        partial_shaping allow_up_sizing+        _device_type _device_id+        [] [] []+        names arg_shp arg_ind+        hdl+    let new_arg_in'   = map NDArray new_arg_in+        new_arg_grad' = map (NDArray <$>) new_arg_grad+        new_arg_aux'  = map NDArray new_arg_aux+        new_exec      = Executor new_hdl+    return $!! (new_arg_in', new_arg_grad', new_arg_aux', new_exec)++execBind :: I.SymbolHandle -> Context -> [NDArray a] -> [Maybe (NDArray a, Int)] -> [NDArray a] ->  IO (Executor a)+execBind symbol Context{..} arg_in arg_gr_with_req arg_aux = do+    let (arg_gr, arg_gr_req) = unzip $ flip map arg_gr_with_req $ \case+                                 Nothing -> (Nothing, 0)+                                 Just (arr, req) -> (Just $ unNDArray arr, req)+    hdl <- I.mxExecutorBind symbol+                            _device_type _device_id+                            (map unNDArray arg_in)+                            arg_gr+                            arg_gr_req+                            (map unNDArray arg_aux)+    return $ Executor hdl++execFree :: Executor a -> IO ()+execFree (Executor hdl) = I.withExecutorHandle hdl I.mxExecutorFree
c-apis/MXNet/Base/NDArray.hs view
@@ -1,70 +1,117 @@ {-# LANGUAGE ScopedTypeVariables #-} module MXNet.Base.NDArray where -import Foreign.Ptr (castPtr)-import Foreign.Storable (Storable(..))-import Data.Vector.Storable (Vector)-import qualified Data.Vector.Storable as V+import qualified Data.Array.Repa              as Repa+import qualified Data.Store                   as S import qualified Data.Vector.Storable.Mutable as VMut-import qualified Data.Vector.Unboxed as UV-import qualified Data.Array.Repa as Repa-import qualified Data.Array.Repa.Eval as Repa+import           Foreign.Ptr                  (castPtr)+import           GHC.Generics                 (Generic, Generic1)+import           RIO                          hiding (Vector)+import qualified RIO.NonEmpty                 as RNE+import qualified RIO.NonEmpty.Partial         as RNE+import           RIO.Vector.Storable          (Vector)+import qualified RIO.Vector.Storable          as SV+import qualified RIO.Vector.Storable.Unsafe   as SV+import qualified RIO.Vector.Unboxed           as UV+import           System.IO.Unsafe+import           Text.Printf -import qualified MXNet.Base.Raw as I-import MXNet.Base.Types (Context(..), contextCPU, DType(..), ForeignData(..))+import           MXNet.Base.Operators.Tensor  (__copyto)+import qualified MXNet.Base.Raw               as I+import           MXNet.Base.Spec.HMap         (HMap (..), (.&))+import           MXNet.Base.Spec.Operator     (ArgOf (..))+import           MXNet.Base.Types             (Context (..), DType (..),+                                               ForeignData (..), contextCPU)  newtype NDArray a = NDArray { unNDArray :: I.NDArrayHandle}-+    deriving (Generic, Generic1, Show) instance ForeignData (NDArray a) where     touch = I.touchNDArrayHandle . unNDArray -makeEmptyNDArray :: forall a. DType a => [Int] -> Context -> IO (NDArray a)+instance NFData (NDArray a)++instance (DType a, S.Store a) => S.Store (NDArray a) where+    size = S.VarSize $ \a ->+                -- not ideal, I should avoid call toVector+                let b = unsafePerformIO $ do+                            shape <- ndshape a+                            vec <- toVector a+                            return (RNE.toList shape, vec)+                    S.VarSize sz = S.size :: S.Size ([Int], SV.Vector a)+                in sz b+    peek = do+        (shape, vec) <- S.peek+        liftIO $ fromVector shape vec+    poke a = do+        shape <- liftIO $ ndshape a+        vec <- liftIO $ toVector a+        S.poke (shape, vec)++makeEmptyNDArray :: forall a. DType a => NonEmpty Int -> Context -> IO (NDArray a) makeEmptyNDArray shape ctx = do-    array <- I.mxNDArrayCreateEx shape (_device_type ctx) (_device_id ctx) False (flag (undefined :: a))+    array <- I.mxNDArrayCreateEx (RNE.toList shape)+                                 (_device_type ctx)+                                 (_device_id ctx)+                                 False+                                 (flag (undefined :: a))     return $ NDArray array -makeNDArray :: forall a. DType a => [Int] -> Context -> Vector a -> IO (NDArray a)+makeNDArray :: forall a. DType a => NonEmpty Int -> Context -> Vector a -> IO (NDArray a) makeNDArray shape ctx vec = do-    array <- I.mxNDArrayCreateEx shape (_device_type ctx) (_device_id ctx) False (flag (undefined :: a))-    V.unsafeWith vec $ \p -> do-        I.mxNDArraySyncCopyFromCPU array (castPtr p) (V.length vec)+    array <- I.mxNDArrayCreateEx (RNE.toList shape)+                                 (_device_type ctx)+                                 (_device_id ctx)+                                 False+                                 (flag (undefined :: a))+    SV.unsafeWith vec $ \p -> do+        I.mxNDArraySyncCopyFromCPU array (castPtr p) (SV.length vec)         return $ NDArray array  makeNDArrayLike :: DType a => NDArray a -> Context -> IO (NDArray a) makeNDArrayLike src cxt = do     shape <- ndshape src     makeEmptyNDArray shape cxt-        -ndshape :: DType a => NDArray a -> IO [Int]-ndshape = I.mxNDArrayGetShape . unNDArray +ndshape :: DType a => NDArray a -> IO (NonEmpty Int)+ndshape arr = do+    shape <- I.mxNDArrayGetShape $ unNDArray arr+    case RNE.nonEmpty shape of+        Just s  -> return s+        Nothing -> error "impossible shape"+ ndsize :: DType a => NDArray a -> IO Int ndsize arr = product <$> ndshape arr -full :: DType a => a -> [Int] -> IO (NDArray a)-full value shape = makeNDArray shape contextCPU $ V.replicate (product shape) value+full :: DType a => a -> NonEmpty Int -> IO (NDArray a)+full value shape = makeNDArray shape contextCPU $ SV.replicate (product shape) value -ones :: DType a => [Int] -> IO (NDArray a)+ones :: DType a => NonEmpty Int -> IO (NDArray a) ones = full 1 -zeros :: DType a => [Int] -> IO (NDArray a)+zeros :: DType a => NonEmpty Int -> IO (NDArray a) zeros = full 1 -fromVector :: DType a => [Int] -> Vector a -> IO (NDArray a)+fromVector :: DType a => NonEmpty Int -> Vector a -> IO (NDArray a) fromVector shape = makeNDArray shape contextCPU -copyFromVector :: DType a => NDArray a -> Vector a -> IO ()+fromRepa :: (HasCallStack, Repa.Shape sh, DType a, UV.Unbox a) => Repa.Array Repa.U sh a -> IO (NDArray a)+fromRepa arr = do+    let shp = RNE.fromList $ reverse $ Repa.listOfShape $ Repa.extent arr+        vec = UV.convert $ Repa.toUnboxed arr+    makeNDArray shp contextCPU vec++copyFromVector :: (HasCallStack, DType a) => NDArray a -> Vector a -> IO () copyFromVector arr vec = do     sz <- ndsize arr-    if (sz /= V.length vec) -      then error ""+    if (sz /= SV.length vec)+      then error $ printf "cannot copy from Vector: size mismatch (%d vs. %d)" sz (SV.length vec)       else do-        V.unsafeWith vec $ \p -> do+        SV.unsafeWith vec $ \p -> do             I.mxNDArraySyncCopyFromCPU (unNDArray arr) (castPtr p) sz -copyFromRepa :: (Repa.Shape sh, DType a, UV.Unbox a, Repa.Load r sh a) => NDArray a -> Repa.Array r sh a -> IO ()+copyFromRepa :: (HasCallStack, Repa.Shape sh, DType a, UV.Unbox a) => NDArray a -> Repa.Array Repa.U sh a -> IO () copyFromRepa arr repa = do-    let vec = UV.convert $ Repa.toUnboxed $ Repa.computeS repa+    let vec = UV.convert $ Repa.toUnboxed repa     copyFromVector arr vec  toVector :: DType a => NDArray a -> IO (Vector a)@@ -72,11 +119,11 @@     nlen <- ndsize arr     mvec <- VMut.new nlen     VMut.unsafeWith mvec $ \p -> I.mxNDArraySyncCopyToCPU (unNDArray arr) (castPtr p) nlen-    V.unsafeFreeze mvec+    SV.unsafeFreeze mvec  toRepa :: (Repa.Shape sh, DType a, UV.Unbox a) => NDArray a -> IO (Repa.Array Repa.U sh a) toRepa arr = do-    shp <- ndshape arr+    shp <- RNE.toList <$> ndshape arr     vec <- toVector arr     return $ Repa.fromUnboxed (Repa.shapeOfList (reverse shp)) (UV.convert vec) @@ -85,10 +132,36 @@     cxt <- I.mxNDArrayGetContext handle     return $ uncurry Context cxt +toContext :: forall a. DType a => NDArray a -> Context -> IO (NDArray a)+toContext arr cxt = do+    ncxt <- context arr+    if cxt == ncxt+    then return arr+    else do+        narr <- makeNDArrayLike arr cxt+        void $ (__copyto (#data :≅ arr .& Nil) (Just [narr]) :: IO [NDArray a])+        return narr++toCPU :: DType a => NDArray a -> IO (NDArray a)+toCPU = flip toContext contextCPU+ waitToRead :: DType a => NDArray a -> IO () waitToRead (NDArray hdl) = I.mxNDArrayWaitToRead hdl  waitToWrite :: DType a => NDArray a -> IO () waitToWrite (NDArray hdl) = I.mxNDArrayWaitToWrite hdl +waitAll :: IO () waitAll = I.mxNDArrayWaitAll++-- All non-update OP return a list of NDArray, but usually+-- it is a single element list. `sing` check and return+-- the first NDArray+sing :: (args -> IO [I.NDArrayHandle]) -> args -> IO I.NDArrayHandle+sing op args = do+    res <- op args+    case res of+      [x] -> return x+      _   -> error "OP result is not a single NDArray."++emptyCache context = I.mxStorageEmptyCache (_device_type context) (_device_id context)
+ c-apis/MXNet/Base/NDArray.hs-boot view
@@ -0,0 +1,6 @@+module MXNet.Base.NDArray where++import qualified MXNet.Base.Raw               as I++newtype NDArray a = NDArray { unNDArray :: I.NDArrayHandle}+
+ c-apis/MXNet/Base/ParserUtils.hs view
@@ -0,0 +1,22 @@+module MXNet.Base.ParserUtils (+    parseR,+    list,+    tuple,+    module Data.Attoparsec.Text+) where++import           Control.Lens         (ix, (^?!), _Right)+import           Data.Attoparsec.Text+import qualified Data.Attoparsec.Text as P+import           RIO++parseR :: HasCallStack => P.Parser a -> Text -> a+parseR c t = (parseOnly (c <* endOfInput) t) ^?! _Right++list  f = char '[' *> commaSep f <* char ']'+tuple f = char '(' *> liftA2 (,) f (char ',' *> f) <* char ')'++-- TODO give type level int, build a tuple of that size+many f = char '(' *> commaSep f <* char ')'++commaSep p  = p `sepBy` (char ',')
c-apis/MXNet/Base/Raw/Common.chs view
@@ -1,43 +1,71 @@ module MXNet.Base.Raw.Common where -import Control.Exception.Base (Exception, throwIO)-import Data.Typeable (Typeable)+import RIO+import qualified RIO.Text as T import Data.Tuple.Ops (Unconsable, uncons) import Foreign.Marshal (alloca, peekArray, withArray) import Foreign.Storable (Storable(..))-import Foreign.C (withCString) import Foreign.C.Types+import Foreign.C.String (CString, peekCString, withCString) import Foreign.Ptr-import C2HS.C.Extra.Marshal (peekString, peekStringArray) import GHC.Generics (Generic)-import Data.Word (Word64)+import GHC.Stack  type MX_UINT  = C2HSImp.CUInt type MX_CCHAR = C2HSImp.CChar -data MXNetError = MXNetError String+{# typedef char CChar #}+{# default in  `Text' [char *] withCStringT* #}+{# default out `Text' [char *] peekCStringT* #}++data MXNetError = MXNetError String Text     deriving Typeable instance Exception MXNetError  instance Show MXNetError where-    show (MXNetError msg) = "an error occurred in MXNet.\n" ++ msg+    show (MXNetError tb msg) = tb ++ "\n\nAn error occurred in MXNet.\n" ++ T.unpack msg +newtype WrapText = WrapText {unWrapText :: Text}+deriving instance Generic WrapText deriving instance Generic C2HSImp.CInt deriving instance Generic C2HSImp.CUInt -checked :: Unconsable t CInt r => IO t -> IO r+checked :: (HasCallStack, Unconsable t CInt r) => IO t -> IO r checked call = do     (res, ret) <- uncons <$> call     if res < 0       then do err <- mxGetLastError-              throwIO $ MXNetError err+              let tb = prettyCallStack callStack+              throwIO $ MXNetError tb err       else return ret -withStringArray :: [String] -> (Ptr (Ptr CChar) -> IO a) -> IO a-withStringArray strs act = go strs []+peekCStringT :: CString -> IO Text+peekCStringT = fmap T.pack . peekCString++peekCStringPtrT :: Ptr CString -> IO Text+peekCStringPtrT ptr = do+    cstr <- peek ptr+    if | cstr == nullPtr -> return ""+       | otherwise -> peekCStringT cstr++peekCStringArrayT :: Int -> Ptr CString -> IO [Text]+peekCStringArrayT cnt ptr = peekArray cnt ptr >>= mapM peekCStringT++withCStringT :: Text -> (CString -> IO a) -> IO a+withCStringT str = withCString (T.unpack str)++-- TODO: Does it worth of any opt for the withCStringArrayT?+-- withCStringArrayT :: [Text] -> (Ptr CString -> IO a) -> IO a+-- withCStringArrayT arr act = do+--     let nul = T.singleton '\NUL'+--         whole = T.concat $ map (`T.append` nul) arr+--     T.encodeUtf8 whole++withCStringArrayT :: [Text] -> (Ptr CString -> IO a) -> IO a+withCStringArrayT strs act = go strs []   where     go [] all = withArray (reverse all) act-    go (s:ss) all = withCString s (go ss . (:all))+    go (s:ss) all = withCStringT s (go ss . (:all))  #include <mxnet/c_api.h> #include <nnvm/c_api.h>@@ -60,15 +88,15 @@     } -> `CInt' #} -mxListAllOpNames :: IO [String]+mxListAllOpNames :: IO [Text] mxListAllOpNames = do     (cnt, ptr) <- checked mxListAllOpNames_-    peekStringArray (fromIntegral cnt :: Int) ptr+    peekCStringArrayT (fromIntegral cnt :: Int) ptr  {# fun MXGetLastError as mxGetLastError     {-    } -> `String'+    } -> `Text' peekCStringT* #}  {#@@ -102,42 +130,42 @@ fun MXSymbolGetAtomicSymbolName as mxSymbolGetAtomicSymbolName_     {         `AtomicSymbolCreator',-        alloca- `String' peekString*+        alloca- `Text' peekCStringPtrT*     } -> `CInt' #} -mxSymbolGetAtomicSymbolName :: AtomicSymbolCreator -> IO String-mxSymbolGetAtomicSymbolName = checked . mxSymbolGetAtomicSymbolName_+mxSymbolGetAtomicSymbolName :: AtomicSymbolCreator -> IO Text+mxSymbolGetAtomicSymbolName = fmap unWrapText . checked . fmap (second WrapText) . mxSymbolGetAtomicSymbolName_  {# fun MXSymbolGetAtomicSymbolInfo as mxSymbolGetAtomicSymbolInfo_     {         `AtomicSymbolCreator',-        alloca- `String' peekString*,-        alloca- `String' peekString*,+        alloca- `Text' peekCStringPtrT*,+        alloca- `Text' peekCStringPtrT*,         alloca- `MX_UINT' peek*,-        alloca- `Ptr (Ptr CChar)' peek*,-        alloca- `Ptr (Ptr CChar)' peek*,-        alloca- `Ptr (Ptr CChar)' peek*,-        alloca- `String' peekString*,-        alloca- `String' peekString*+        alloca- `Ptr CString' peek*,+        alloca- `Ptr CString' peek*,+        alloca- `Ptr CString' peek*,+        alloca- `Text' peekCStringPtrT*,+        alloca- `Text' peekCStringPtrT*     } -> `CInt' #}  mxSymbolGetAtomicSymbolInfo :: AtomicSymbolCreator-                            -> IO (String,-                                   String,-                                   [String],-                                   [String],-                                   [String],-                                   String,-                                   String)+                            -> IO (Text,+                                   Text,+                                   [Text],+                                   [Text],+                                   [Text],+                                   Text,+                                   Text) mxSymbolGetAtomicSymbolInfo creator = do     (name, desc, argcnt, argname, argtype, argdesc, key_var_num_args, rettyp) <- checked $ mxSymbolGetAtomicSymbolInfo_ creator     let n = fromIntegral argcnt-    argname <- peekStringArray n argname-    argtype <- peekStringArray n argtype-    argdesc <- peekStringArray n argdesc+    argname <- peekCStringArrayT n argname+    argtype <- peekCStringArrayT n argtype+    argdesc <- peekCStringArrayT n argdesc     return (name, desc, argname, argtype, argdesc, key_var_num_args, rettyp)  {#@@ -149,6 +177,17 @@ mxNotifyShutdown :: IO () mxNotifyShutdown = checked mxNotifyShutdown_ ++{#+fun MXRandomSeed as mxRandomSeed_+    {+        `CInt'+    } -> `CInt'+#}++mxRandomSeed :: Int -> IO ()+mxRandomSeed seed = checked $ mxRandomSeed_ (fromIntegral seed)+ --------------------------------------------------- type NN_UINT  = C2HSImp.CUInt @@ -168,10 +207,10 @@     } -> `CInt' #} -nnListAllOpNames :: IO [String]+nnListAllOpNames :: IO [Text] nnListAllOpNames = do     (cnt, ptr) <- checked nnListAllOpNames_-    peekStringArray (fromIntegral cnt :: Int) ptr+    peekCStringArrayT (fromIntegral cnt) ptr  {# fun NNListUniqueOps as nnListUniqueOps_@@ -189,39 +228,50 @@ {# fun NNGetOpHandle as nnGetOpHandle_     {-        `String',+        withCStringT* `Text',         alloca- `OpHandle' peek*     } -> `CInt' #} -nnGetOpHandle :: String -> IO OpHandle+nnGetOpHandle :: Text -> IO OpHandle nnGetOpHandle = checked . nnGetOpHandle_  {# fun NNGetOpInfo as nnGetOpInfo_     {         `OpHandle',-        alloca- `String' peekString*,-        alloca- `String' peekString*,+        alloca- `Text' peekCStringPtrT*,+        alloca- `Text' peekCStringPtrT*,         alloca- `NN_UINT' peek*,-        alloca- `Ptr (Ptr CChar)' peek*,-        alloca- `Ptr (Ptr CChar)' peek*,-        alloca- `Ptr (Ptr CChar)' peek*,-        alloca- `String' peekString*+        alloca- `Ptr CString' peek*,+        alloca- `Ptr CString' peek*,+        alloca- `Ptr CString' peek*,+        alloca- `Text' peekCStringPtrT*     } -> `CInt' #} -nnGetOpInfo :: OpHandle -> IO (String, String, [String], [String], [String], String)+nnGetOpInfo :: OpHandle -> IO (Text, Text, [Text], [Text], [Text], Text) nnGetOpInfo op = do     (name, desc, num_args, ptr_arg_names, ptr_arg_types, ptr_arg_descs, ret_type) <- checked $ nnGetOpInfo_ op     let num_args_ = fromIntegral num_args-    arg_names <- peekStringArray num_args_ ptr_arg_names-    arg_types <- peekStringArray num_args_ ptr_arg_types-    arg_descs <- peekStringArray num_args_ ptr_arg_descs+    arg_names <- peekCStringArrayT num_args_ ptr_arg_names+    arg_types <- peekCStringArrayT num_args_ ptr_arg_types+    arg_descs <- peekCStringArrayT num_args_ ptr_arg_descs     return (name, desc, arg_names, arg_types, arg_descs, ret_type)  {# fun NNGetLastError as nnGetLastError     {-    } -> `String'+    } -> `Text' peekCStringT* #}++{#+fun MXStorageEmptyCache as mxStorageEmptyCache_+    {+        `CInt',+        `CInt'+    } -> `CInt'+#}++mxStorageEmptyCache :: Int -> Int -> IO ()+mxStorageEmptyCache devtype devid = checked $ mxStorageEmptyCache_ (fromIntegral devtype) (fromIntegral devid)
c-apis/MXNet/Base/Raw/DataIter.chs view
@@ -1,16 +1,14 @@ module MXNet.Base.Raw.DataIter where +import RIO import Data.Typeable (Typeable) import Foreign.Marshal (alloca, peekArray) import Foreign.Storable (Storable(..)) import Foreign.Concurrent (newForeignPtr) import Foreign.ForeignPtr (finalizeForeignPtr) import Foreign.C.Types+import Foreign.C.String (CString) import Foreign.Ptr-import Data.Word (Word64)-import C2HS.C.Extra.Marshal (peekString, peekStringArray, peekIntegralArray)-import GHC.Generics (Generic)-import Control.Monad ((>=>))  {# import MXNet.Base.Raw.Common #} {# import MXNet.Base.Raw.NDArray #}@@ -30,7 +28,7 @@ deriving instance Storable DataIterCreator  {#-pointer DataIterHandle foreign newtype +pointer DataIterHandle foreign newtype #}  deriving instance Generic DataIterHandle@@ -59,10 +57,10 @@  {# fun MXListDataIters as mxListDataIters_-    { -        alloca- `MX_UINT' peek*, +    {+        alloca- `MX_UINT' peek*,         alloca- `Ptr DataIterCreator' peek*-    } -> `CInt' +    } -> `CInt' #}  mxListDataIters :: IO [DataIterCreator]@@ -72,46 +70,59 @@  {# fun MXDataIterGetIterInfo as mxDataIterGetIterInfo_-    { -        `DataIterCreator', -        alloca- `String' peekString*,-        alloca- `String' peekString*,+    {+        `DataIterCreator',+        alloca- `Text' peekCStringPtrT*,+        alloca- `Text' peekCStringPtrT*,         alloca- `MX_UINT' peek*,-        alloca- `Ptr (Ptr CChar)' peek*,-        alloca- `Ptr (Ptr CChar)' peek*,-        alloca- `Ptr (Ptr CChar)' peek*+        alloca- `Ptr CString' peek*,+        alloca- `Ptr CString' peek*,+        alloca- `Ptr CString' peek*     } -> `CInt' #} -mxDataIterGetIterInfo :: DataIterCreator -> IO (String, String, [String], [String], [String])+mxDataIterGetIterInfo :: DataIterCreator -> IO (Text, Text, [Text], [Text], [Text]) mxDataIterGetIterInfo dataitercreator = do     (name, descr, num_args, arg_names, arg_type_infos, arg_descs) <- checked $ mxDataIterGetIterInfo_ dataitercreator     let num_args_ = fromIntegral num_args-    arg_names_ <- peekStringArray num_args_ arg_names-    arg_type_infos_ <- peekStringArray num_args_ arg_type_infos-    arg_descs_ <- peekStringArray num_args_ arg_descs+    arg_names_ <- peekCStringArrayT num_args_ arg_names+    arg_type_infos_ <- peekCStringArrayT num_args_ arg_type_infos+    arg_descs_ <- peekCStringArrayT num_args_ arg_descs     return (name, descr, arg_names_, arg_type_infos_, arg_descs_) +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXDataIterCreateIter as mxDataIterCreateIter_-    { -        `DataIterCreator', +    {+        `DataIterCreator',         `MX_UINT',-        withStringArray* `[String]',-        withStringArray* `[String]',+        withCStringArrayT* `[Text]',+        withCStringArrayT* `[Text]',         alloca- `DataIterHandle' peekDataIterHandle*     } -> `CInt' #}+#else+{#+fun MXDataIterCreateIter as mxDataIterCreateIter_+    {+        `DataIterCreator',+        `CUInt',+        withCStringArrayT* `[Text]',+        withCStringArrayT* `[Text]',+        alloca- `DataIterHandle' peekDataIterHandle*+    } -> `CInt'+#}+#endif -mxDataIterCreateIter :: DataIterCreator -> [String] -> [String] -> IO DataIterHandle+mxDataIterCreateIter :: DataIterCreator -> [Text] -> [Text] -> IO DataIterHandle mxDataIterCreateIter dataitercreator keys vals = do     let num_args = fromIntegral (length keys)     checked $ mxDataIterCreateIter_ dataitercreator num_args keys vals  {# fun MXDataIterNext as mxDataIterNext_-    { -        `DataIterHandle', +    {+        `DataIterHandle',         alloca- `CInt' peek*     } -> `CInt' #}@@ -123,7 +134,7 @@  {# fun MXDataIterBeforeFirst as mxDataIterBeforeFirst_-    { +    {         `DataIterHandle'     } -> `CInt' #}@@ -133,7 +144,7 @@  {# fun MXDataIterGetData as mxDataIterGetData_-    { +    {         `DataIterHandle',         alloca- `NDArrayHandle' peekNDArrayHandle*     } -> `CInt'@@ -144,7 +155,7 @@  {# fun MXDataIterGetIndex as mxDataIterGetIndex_-    { +    {         `DataIterHandle',         alloca- `Ptr Word64' peek*,         alloca- `Word64' peek*@@ -154,11 +165,11 @@ mxDataIterGetIndex :: DataIterHandle -> IO [Integer] mxDataIterGetIndex dataiter = do     (ptr, cnt) <- checked $ mxDataIterGetIndex_ dataiter-    peekIntegralArray (fromIntegral cnt) ptr+    map fromIntegral <$> peekArray (fromIntegral cnt) ptr  {# fun MXDataIterGetPadNum as mxDataIterGetPadNum_-    { +    {         `DataIterHandle',         alloca- `CInt' peek*     } -> `CInt'@@ -171,7 +182,7 @@  {# fun MXDataIterGetLabel as mxDataIterGetLabel_-    { +    {         `DataIterHandle',         alloca- `NDArrayHandle' peekNDArrayHandle*     } -> `CInt'
c-apis/MXNet/Base/Raw/Executor.chs view
@@ -1,6 +1,7 @@ {-# LANGUAGE ScopedTypeVariables #-} module MXNet.Base.Raw.Executor where +import RIO import Foreign.Marshal (alloca, withArray, peekArray) import Foreign.Storable (Storable(..)) import Foreign.Concurrent (newForeignPtr)@@ -8,10 +9,7 @@ import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr) import Foreign.Ptr import Foreign.C.Types-import C2HS.C.Extra.Marshal (withIntegralArray, peekIntegralArray, peekString, peekStringArray)-import GHC.Generics (Generic)-import Control.Monad ((>=>))-import Data.Maybe (fromMaybe)+import Control.DeepSeq (NFData(..), rwhnf)  {# import MXNet.Base.Raw.Common #} {# import MXNet.Base.Raw.NDArray #}@@ -25,10 +23,13 @@ {# default in `MX_UINT' [mx_uint] id #}  {#-pointer ExecutorHandle foreign newtype +pointer ExecutorHandle foreign newtype #}  deriving instance Generic ExecutorHandle+deriving instance Show ExecutorHandle+instance NFData ExecutorHandle where+    rnf = rwhnf  type ExecutorHandlePtr = Ptr ExecutorHandle @@ -36,7 +37,7 @@ touchExecutorHandle (ExecutorHandle fptr) = touchForeignPtr fptr  newExecutorHandle :: ExecutorHandlePtr -> IO ExecutorHandle-newExecutorHandle ptr = newForeignPtr ptr (mxExecutorFree ptr) >>= return . ExecutorHandle+newExecutorHandle ptr = newForeignPtr_ ptr >>= return . ExecutorHandle  peekExecutorHandle :: Ptr ExecutorHandlePtr -> IO ExecutorHandle peekExecutorHandle = peek >=> newExecutorHandle@@ -62,12 +63,12 @@ fun MXExecutorPrint as mxExecutorPrint_     {         `ExecutorHandle',-        alloca- `String' peekString*+        alloca- `Text' peekCStringPtrT*     } -> `CInt' #} -mxExecutorPrint :: ExecutorHandle -> IO String-mxExecutorPrint = checked . mxExecutorPrint_+mxExecutorPrint :: ExecutorHandle -> IO Text+mxExecutorPrint = fmap unWrapText . checked . fmap (second WrapText) . mxExecutorPrint_  {# fun MXExecutorForward as mxExecutorForward_@@ -82,6 +83,7 @@   where     is_train = if train then 1 else 0 +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXExecutorBackward as mxExecutorBackward_     {@@ -90,12 +92,23 @@         withNDArrayHandleArray* `[NDArrayHandle]'     } -> `CInt' #}+#else+{#+fun MXExecutorBackward as mxExecutorBackward_+    {+        `ExecutorHandle',+        `CUInt',+        withNDArrayHandleArray* `[NDArrayHandle]'+    } -> `CInt'+#}+#endif  mxExecutorBackward :: ExecutorHandle -> [NDArrayHandle] -> IO () mxExecutorBackward exec head_grads = checked $ mxExecutorBackward_ exec cnt head_grads   where     cnt = fromIntegral $ length head_grads +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXExecutorBackwardEx as mxExecutorBackwardEx_     {@@ -105,6 +118,17 @@         `CInt'     } -> `CInt' #}+#else+{#+fun MXExecutorBackwardEx as mxExecutorBackwardEx_+    {+        `ExecutorHandle',+        `CUInt',+        withNDArrayHandleArray* `[NDArrayHandle]',+        `CInt'+    } -> `CInt'+#}+#endif  mxExecutorBackwardEx :: ExecutorHandle -> [NDArrayHandle] -> Bool -> IO () mxExecutorBackwardEx exec head_grads train = checked $ mxExecutorBackwardEx_ exec cnt head_grads is_train@@ -127,6 +151,7 @@     handle_ptrs <- peekArray (fromIntegral cnt) ptr     mapM newNDArrayHandle handle_ptrs +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXExecutorBind as mxExecutorBind_     {@@ -142,12 +167,29 @@         alloca- `ExecutorHandle' peekExecutorHandle*     } -> `CInt' #}+#else+{#+fun MXExecutorBind as mxExecutorBind_+    {+        `SymbolHandle',+        `CInt',+        `CInt',+        `CUInt',+        withNDArrayHandleArray* `[NDArrayHandle]',+        withNDArrayHandleArray* `[NDArrayHandle]',+        withArray* `[CUInt]',+        `CUInt',+        withNDArrayHandleArray* `[NDArrayHandle]',+        alloca- `ExecutorHandle' peekExecutorHandle*+    } -> `CInt'+#}+#endif  makeNullNDArrayHandle = NDArrayHandle <$> newForeignPtr_ C2HSImp.nullPtr  mxExecutorBind :: SymbolHandle-               -> Int                 -> Int+               -> Int                -> [NDArrayHandle]                -> [Maybe NDArrayHandle]                -> [Int]@@ -164,6 +206,7 @@     cnt_auxs = fromIntegral $ length aux_states     grad_req_type_ = map fromIntegral grad_req_type +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXExecutorBindX as mxExecutorBindX_     {@@ -171,7 +214,7 @@         `CInt',         `CInt',         `MX_UINT',-        withStringArray* `[String]',+        withCStringArrayT* `[Text]',         withArray* `[CInt]',         withArray* `[CInt]',         `MX_UINT',@@ -183,11 +226,32 @@         alloca- `ExecutorHandle' peekExecutorHandle*     } -> `CInt' #}+#else+{#+fun MXExecutorBindX as mxExecutorBindX_+    {+        `SymbolHandle',+        `CInt',+        `CInt',+        `CUInt',+        withCStringArrayT* `[Text]',+        withArray* `[CInt]',+        withArray* `[CInt]',+        `CUInt',+        withNDArrayHandleArray* `[NDArrayHandle]',+        withNDArrayHandleArray* `[NDArrayHandle]',+        withArray* `[CUInt]',+        `CUInt',+        withNDArrayHandleArray* `[NDArrayHandle]',+        alloca- `ExecutorHandle' peekExecutorHandle*+    } -> `CInt'+#}+#endif  mxExecutorBindX :: SymbolHandle-                -> Int                  -> Int-                -> [String]+                -> Int+                -> [Text]                 -> [Int]                 -> [Int]                 -> [NDArrayHandle]@@ -209,6 +273,7 @@     cnt_auxs = fromIntegral $ length aux_states     grad_req_type_ = map fromIntegral grad_req_type +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXExecutorBindEX as mxExecutorBindEX_     {@@ -216,7 +281,7 @@         `CInt',         `CInt',         `MX_UINT',-        withStringArray* `[String]',+        withCStringArrayT* `[Text]',         withArray* `[CInt]',         withArray* `[CInt]',         `MX_UINT',@@ -229,11 +294,33 @@         alloca- `ExecutorHandle' peekExecutorHandle*     } -> `CInt' #}+#else+{#+fun MXExecutorBindEX as mxExecutorBindEX_+    {+        `SymbolHandle',+        `CInt',+        `CInt',+        `CUInt',+        withCStringArrayT* `[Text]',+        withArray* `[CInt]',+        withArray* `[CInt]',+        `CUInt',+        withNDArrayHandleArray* `[NDArrayHandle]',+        withNDArrayHandleArray* `[NDArrayHandle]',+        withArray* `[CUInt]',+        `CUInt',+        withNDArrayHandleArray* `[NDArrayHandle]',+        `ExecutorHandle',+        alloca- `ExecutorHandle' peekExecutorHandle*+    } -> `CInt'+#}+#endif  mxExecutorBindEX :: SymbolHandle-                 -> Int                   -> Int-                 -> [String]+                 -> Int+                 -> [Text]                  -> [Int]                  -> [Int]                  -> [NDArrayHandle]@@ -256,6 +343,7 @@     cnt_auxs = fromIntegral $ length aux_states     grad_req_type_ = map fromIntegral grad_req_type +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXExecutorSimpleBind as mxExecutorSimpleBind_     {@@ -263,24 +351,24 @@         `CInt',         `CInt',         `MX_UINT',-        withStringArray* `[String]',+        withCStringArrayT* `[Text]',         withArray* `[CInt]',         withArray* `[CInt]',         `MX_UINT',-        withStringArray* `[String]',-        withStringArray* `[String]',+        withCStringArrayT* `[Text]',+        withCStringArrayT* `[Text]',         `MX_UINT',-        withStringArray* `[String]',+        withCStringArrayT* `[Text]',         withArray* `[MX_UINT]',         withArray* `[MX_UINT]',         `MX_UINT',-        withStringArray* `[String]',+        withCStringArrayT* `[Text]',         withArray* `[CInt]',         `MX_UINT',-        withStringArray* `[String]',+        withCStringArrayT* `[Text]',         withArray* `[CInt]',         `MX_UINT',-        withStringArray* `[String]',+        withCStringArrayT* `[Text]',         id `Ptr CInt',                          -- [in/out] shared_buffer_len         id `Ptr (Ptr CChar)',                   -- [in, optional] shared_buffer_name_list         id `Ptr NDArrayHandlePtr',              -- [in, optional] shared_buffer_handle_list@@ -292,44 +380,85 @@         alloca- `MX_UINT' peek*,         alloca- `Ptr NDArrayHandlePtr' peek*,         `ExecutorHandle',-        alloca- `ExecutorHandle' peekExecutorHandle*        +        alloca- `ExecutorHandle' peekExecutorHandle*     } -> `CInt' #}+#else+{#+fun MXExecutorSimpleBind as mxExecutorSimpleBind_+    {+        `SymbolHandle',+        `CInt',+        `CInt',+        `CUInt',+        withCStringArrayT* `[Text]',+        withArray* `[CInt]',+        withArray* `[CInt]',+        `CUInt',+        withCStringArrayT* `[Text]',+        withCStringArrayT* `[Text]',+        `CUInt',+        withCStringArrayT* `[Text]',+        withArray* `[CUInt]',+        withArray* `[CUInt]',+        `CUInt',+        withCStringArrayT* `[Text]',+        withArray* `[CInt]',+        `CUInt',+        withCStringArrayT* `[Text]',+        withArray* `[CInt]',+        `CUInt',+        withCStringArrayT* `[Text]',+        id `Ptr CInt',                          -- [in/out] shared_buffer_len+        id `Ptr (Ptr CChar)',                   -- [in, optional] shared_buffer_name_list+        id `Ptr NDArrayHandlePtr',              -- [in, optional] shared_buffer_handle_list+        alloca- `Ptr (Ptr CChar)' peek*,        -- [out] updated_shared_buffer_name_list+        alloca- `Ptr NDArrayHandlePtr' peek*,   -- [out] updated_shared_buffer_handle_list+        alloca- `CUInt' peek*,+        alloca- `Ptr NDArrayHandlePtr' peek*,+        alloca- `Ptr NDArrayHandlePtr' peek*,+        alloca- `CUInt' peek*,+        alloca- `Ptr NDArrayHandlePtr' peek*,+        `ExecutorHandle',+        alloca- `ExecutorHandle' peekExecutorHandle*+    } -> `CInt'+#}+#endif  mxExecutorSimpleBind :: SymbolHandle                      -> Int -> Int                        -- device-                     -> [String] -> [Int] -> [Int]        -- g2c-                     -> [String] -> [String]              -- provided_grad_req_list-                     -> [String] -> [Int] -> [Int]        -- provided_arg_shapes-                     -> [String] -> [Int]                 -- provided_arg_dtypes-                     -> [String] -> [Int]                 -- provided_arg_stypes-                     -> [String]                          -- shared_arg_names-                     -> Maybe ([String], [NDArrayHandle]) -- shared_buffer+                     -> [Text] -> [Int] -> [Int]        -- g2c+                     -> [Text] -> [Text]              -- provided_grad_req_list+                     -> [Text] -> [Int] -> [Int]        -- provided_arg_shapes+                     -> [Text] -> [Int]                 -- provided_arg_dtypes+                     -> [Text] -> [Int]                 -- provided_arg_stypes+                     -> [Text]                          -- shared_arg_names+                     -> Maybe ([Text], [NDArrayHandle]) -- shared_buffer                      -> ExecutorHandle                    -- shared_exec_handle-                     -> IO (Maybe ([String], [NDArrayHandle]), -- updated_shared_buffer+                     -> IO (Maybe ([Text], [NDArrayHandle]), -- updated_shared_buffer                             [NDArrayHandle],                   -- arg_array                             [NDArrayHandle],                   -- grad_array                             [NDArrayHandle],                   -- aux_array                             ExecutorHandle)-mxExecutorSimpleBind symbol -                     devtype devid -                     g2c_keys g2c_dev_types g2c_dev_ids -                     provided_grad_req_names -                     provided_grad_req_types +mxExecutorSimpleBind symbol+                     devtype devid+                     g2c_keys g2c_dev_types g2c_dev_ids+                     provided_grad_req_names+                     provided_grad_req_types                      provided_arg_shape_names provided_arg_shape_data provided_arg_shape_idx-                     provided_arg_dtype_names provided_arg_dtypes -                     provided_arg_stype_names provided_arg_stypes -                     shared_arg_name_list -                     shared_buffer +                     provided_arg_dtype_names provided_arg_dtypes+                     provided_arg_stype_names provided_arg_stypes+                     shared_arg_name_list+                     shared_buffer                      shared_exec_handle =-    case shared_buffer of +    case shared_buffer of          Nothing -> alloca (\ptr_shared_buffer_len -> do             poke ptr_shared_buffer_len (-1)-            (_, _, num_in_args, in_args, arg_grads, num_aux_states, aux_states, out) <- checked $ mxExecutorSimpleBind_ -                        symbol devtype_ devid_ -                        cnt_g2c g2c_keys g2c_dev_types_ g2c_dev_ids_ -                        cnt_provided_grad_req_list provided_grad_req_names provided_grad_req_types +            (_, _, num_in_args, in_args, arg_grads, num_aux_states, aux_states, out) <- checked $ mxExecutorSimpleBind_+                        symbol devtype_ devid_+                        cnt_g2c g2c_keys g2c_dev_types_ g2c_dev_ids_+                        cnt_provided_grad_req_list provided_grad_req_names provided_grad_req_types                         cnt_provided_arg_shapes provided_arg_shape_names provided_arg_shape_data_ provided_arg_shape_idx_                         cnt_provided_arg_dtypes provided_arg_dtype_names provided_arg_dtypes_                         cnt_provided_arg_stypes provided_arg_stype_names provided_arg_stypes_@@ -343,12 +472,12 @@          Just (shared_buffer_name_list, shared_buffer_handle_list) -> alloca (\ptr_shared_buffer_len -> do             poke ptr_shared_buffer_len (fromIntegral $ length shared_buffer_name_list)-            withStringArray shared_buffer_name_list (\ptr_shared_buffer_name_list -> +            withCStringArrayT shared_buffer_name_list (\ptr_shared_buffer_name_list ->                 withNDArrayHandleArray shared_buffer_handle_list (\ptr_shared_buffer_handle_list -> do-                    (ptr_updated_shared_buffer_name_list, ptr_updated_shared_buffer_handle_list, num_in_args, in_args, arg_grads, num_aux_states, aux_states, out) <- checked $ mxExecutorSimpleBind_ -                                symbol devtype_ devid_ -                                cnt_g2c g2c_keys g2c_dev_types_ g2c_dev_ids_ -                                cnt_provided_grad_req_list provided_grad_req_names provided_grad_req_types +                    (ptr_updated_shared_buffer_name_list, ptr_updated_shared_buffer_handle_list, num_in_args, in_args, arg_grads, num_aux_states, aux_states, out) <- checked $ mxExecutorSimpleBind_+                                symbol devtype_ devid_+                                cnt_g2c g2c_keys g2c_dev_types_ g2c_dev_ids_+                                cnt_provided_grad_req_list provided_grad_req_names provided_grad_req_types                                 cnt_provided_arg_shapes provided_arg_shape_names provided_arg_shape_data_ provided_arg_shape_idx_                                 cnt_provided_arg_dtypes provided_arg_dtype_names provided_arg_dtypes_                                 cnt_provided_arg_stypes provided_arg_stype_names provided_arg_stypes_@@ -359,7 +488,7 @@                     grad_array <- peekArray (fromIntegral num_in_args) arg_grads >>= mapM newNDArrayHandle                     aux_array  <- peekArray (fromIntegral num_aux_states) aux_states >>= mapM newNDArrayHandle                     update_shared_buffer_len <- fromIntegral <$> peek ptr_shared_buffer_len-                    updated_shared_buffer_name_list <- peekStringArray update_shared_buffer_len ptr_updated_shared_buffer_name_list+                    updated_shared_buffer_name_list <- peekCStringArrayT update_shared_buffer_len ptr_updated_shared_buffer_name_list                     updated_shared_buffer_handle_list <- peekArray update_shared_buffer_len ptr_updated_shared_buffer_handle_list >>= mapM newNDArrayHandle                     return (Just (updated_shared_buffer_name_list, updated_shared_buffer_handle_list), arg_array, grad_array, aux_array, out)                 )))@@ -380,35 +509,109 @@     provided_arg_stypes_ = map fromIntegral $ provided_arg_stypes     cnt_shared_arg_names = fromIntegral $ length shared_arg_name_list --- {#--- fun MXExecutorReshape as mxExecutorReshape_---     {---         `CInt',---         `CInt',---         `CInt',---         `CInt',---         `MX_UINT',---         withStringArray* `[String]',---         withArray* `[CInt]',---         withArray* `[CInt]',---         `MX_UINT',---         withStringArray* `[String]',---         withArray* `[MX_UINT]',---         withArray* `[MX_UINT]',---         alloca- `MX_UINT' peek*,---         alloca- `Ptr NDArrayHandlePtr' peek*,---         alloca- `Ptr NDArrayHandlePtr' peek*,---         alloca- `MX_UINT' peek*,---         alloca- `Ptr NDArrayHandlePtr' peek*,---         `ExecutorHandle',---         alloca- `ExecutorHandle' peekExecutorHandle*---     } -> `CInt'--- #}+#if MXNet_MAJOR==1 && MXNet_MINOR<6+{#+fun MXExecutorReshapeEx as mxExecutorReshapeEx_+    {+        `CInt',+        `CInt',+        `CInt',+        `CInt',+        `MX_UINT',+        withCStringArrayT* `[Text]',+        withArray* `[CInt]',+        withArray* `[CInt]',+        `MX_UINT',+        withCStringArrayT* `[Text]',+        withArray* `[CInt]',+        withArray* `[MX_UINT]',+        alloca0- `MX_UINT' peek*,+        alloca- `Ptr NDArrayHandlePtr' peek*,+        alloca- `Ptr NDArrayHandlePtr' peek*,+        alloca0- `MX_UINT' peek*,+        alloca- `Ptr NDArrayHandlePtr' peek*,+        `ExecutorHandle',+        alloca- `ExecutorHandle' peekExecutorHandle*+    } -> `CInt'+#}+#else+{#+fun MXExecutorReshapeEx as mxExecutorReshapeEx_+    {+        `CInt',+        `CInt',+        `CInt',+        `CInt',+        `CUInt',+        withCStringArrayT* `[Text]',+        withArray* `[CInt]',+        withArray* `[CInt]',+        `CUInt',+        withCStringArrayT* `[Text]',+        withArray* `[CInt]',+        withArray* `[CUInt]',+        alloca0- `CUInt' peek*,+        alloca- `Ptr NDArrayHandlePtr' peek*,+        alloca- `Ptr NDArrayHandlePtr' peek*,+        alloca0- `CUInt' peek*,+        alloca- `Ptr NDArrayHandlePtr' peek*,+        `ExecutorHandle',+        alloca- `ExecutorHandle' peekExecutorHandle*+    } -> `CInt'+#}+#endif --- {# +mxExecutorReshapeEx :: Bool -> Bool -> Int -> Int+                    -> [Text] -> [Int] -> [Int]        -- group2ctx+                    -> [Text] -> [Int] -> [Int]        -- provided_arg_shapes+                    -> ExecutorHandle                    -- shared exec+                    -> IO ([NDArrayHandle], [Maybe NDArrayHandle], [NDArrayHandle], ExecutorHandle)+mxExecutorReshapeEx partial_shaping allow_up_sizing+                    devtype devid+                    g2c_keys g2c_dev_types g2c_dev_ids+                    provided_arg_shape_names provided_arg_shape_data provided_arg_shape_idx+                    shared_exec_handler = do+    (num_in, arr_in, arr_grad, num_aux, arr_aux, exec_hdl) <- checked $ mxExecutorReshapeEx_+                    partial_shaping_ allow_up_sizing_+                    devtype_ devid_+                    cnt_g2c g2c_keys g2c_dev_types_ g2c_dev_ids_+                    cnt_provided_arg_shapes provided_arg_shape_names provided_arg_shape_data_ provided_arg_shape_idx_+                    shared_exec_handler++    handle_ptrs <- peekArray (fromIntegral num_in) arr_in+    arr_in   <- mapM newNDArrayHandle handle_ptrs++    handle_ptrs <- peekArray (fromIntegral num_in) arr_grad+    arr_grad <- flip mapM handle_ptrs $ \ptr ->+                    if ptr == nullPtr+                    then return Nothing+                    else Just <$> newNDArrayHandle ptr++    handle_ptrs <- peekArray (fromIntegral num_aux) arr_aux+    arr_aux  <- mapM newNDArrayHandle handle_ptrs++    return (arr_in, arr_grad, arr_aux, exec_hdl)+  where+    partial_shaping_ = if partial_shaping then 1 else 0+    allow_up_sizing_ = if allow_up_sizing then 1 else 0+    devtype_ = fromIntegral devtype+    devid_ = fromIntegral devid++    cnt_g2c = fromIntegral $ length g2c_keys+    g2c_dev_types_ = map fromIntegral g2c_dev_types+    g2c_dev_ids_ = map fromIntegral g2c_dev_ids++    cnt_provided_arg_shapes = fromIntegral $ length provided_arg_shape_names+    provided_arg_shape_data_ = map fromIntegral provided_arg_shape_data+    provided_arg_shape_idx_  = map fromIntegral provided_arg_shape_idx++-- {# -- fun MXExecutorGetOptimizedSymbol as mxExecutorGetOptimizedSymbol_ --     { --         `ExecutorHandle', --         alloca- `SymbolHandle' peekSymbolHandle* --     } -> `CInt' -- #}++alloca0 :: (Storable a, Num a) => (Ptr a -> IO b) -> IO b+alloca0 f = alloca (\ptr -> poke ptr 0 >> f ptr)
c-apis/MXNet/Base/Raw/NDArray.chs view
@@ -1,15 +1,18 @@ {-# LANGUAGE ScopedTypeVariables #-} module MXNet.Base.Raw.NDArray where +import RIO+import RIO.List (unzip) import Foreign.Marshal (alloca, withArray, peekArray) import Foreign.Storable (Storable(..)) import Foreign.Concurrent (newForeignPtr) import Foreign.ForeignPtr (touchForeignPtr) import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr) import Foreign.C.Types+import Foreign.C.String (CString) import Foreign.Ptr-import C2HS.C.Extra.Marshal (withIntegralArray, peekStringArray) import GHC.Generics (Generic)+import Control.DeepSeq (NFData(..), rwhnf) import Control.Monad ((>=>))  {# import MXNet.Base.Raw.Common #}@@ -23,11 +26,14 @@  -- NDArray {#-pointer NDArrayHandle foreign newtype +pointer NDArrayHandle foreign newtype #}  deriving instance Generic NDArrayHandle deriving instance Show NDArrayHandle+instance NFData NDArrayHandle where+    rnf = rwhnf+ type NDArrayHandlePtr = Ptr NDArrayHandle  touchNDArrayHandle :: NDArrayHandle -> IO ()@@ -179,6 +185,7 @@ mxNDArrayWaitAll :: IO () mxNDArrayWaitAll = checked mxNDArrayWaitAll_ +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXNDArraySlice as mxNDArraySlice_     {@@ -188,6 +195,17 @@         alloca- `NDArrayHandle' peekNDArrayHandle*     } -> `CInt' #}+#else+{#+fun MXNDArraySlice as mxNDArraySlice_+    {+        `NDArrayHandle',+        `CUInt',+        `CUInt',+        alloca- `NDArrayHandle' peekNDArrayHandle*+    } -> `CInt'+#}+#endif  mxNDArraySlice :: NDArrayHandle -> Int -> Int -> IO NDArrayHandle mxNDArraySlice array begin end = do@@ -195,6 +213,8 @@         end_   = fromIntegral end     checked $ mxNDArraySlice_ array begin_ end_ ++#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXNDArrayAt as mxNDArrayAt_     {@@ -203,6 +223,16 @@         alloca- `NDArrayHandle' peekNDArrayHandle*     } -> `CInt' #}+#else+{#+fun MXNDArrayAt as mxNDArrayAt_+    {+        `NDArrayHandle',+        `CUInt',+        alloca- `NDArrayHandle' peekNDArrayHandle*+    } -> `CInt'+#}+#endif  mxNDArrayAt :: NDArrayHandle -> Int -> IO NDArrayHandle mxNDArrayAt array index = do@@ -226,7 +256,7 @@     {         `NDArrayHandle',         `CInt',-        withIntegralArray* `[CInt]',+        withArray* `[CInt]',         alloca- `NDArrayHandle' peekNDArrayHandle*     } -> `CInt' #}@@ -253,7 +283,7 @@     return $ fromIntegral <$> shape  -- MXImperativeInvoke is hacky.--- num-outputs +-- num-outputs --   0: create new NDArrayHandler in the array-of-NDArrayHandle --   length of array-of-NDArrayHandle (non-0): reuse NDArrayHandler in the array-of-NDArrayHandle {#@@ -265,15 +295,16 @@         id `Ptr CInt',                    -- num-outputs         id `Ptr (Ptr NDArrayHandlePtr)',  -- array-of-NDArrayHandle         `CInt',-        withStringArray* `[String]',-        withStringArray* `[String]'+        withCStringArrayT* `[Text]',+        withCStringArrayT* `[Text]'     } -> `CInt' #}  -- | Invoke a nnvm op and imperative function.-mxImperativeInvoke :: AtomicSymbolCreator+mxImperativeInvoke :: HasCallStack+                   => AtomicSymbolCreator                    -> [NDArrayHandle]-                   -> [(String, String)]+                   -> [(Text, Text)]                    -> Maybe [NDArrayHandle]                    -> IO [NDArrayHandle] mxImperativeInvoke creator inputs params outputs = do@@ -288,7 +319,7 @@                 checked $ mxImperativeInvoke_ creator ninput inputs pn pp nparam keys values                 n' <- peek pn                 p' <- peek pp-                if n' == 0 +                if n' == 0                     then return []                     else do                         pa <- peekArray (fromIntegral n') (p' :: Ptr NDArrayHandlePtr)@@ -317,17 +348,29 @@     return (fromIntegral devtyp, fromIntegral devidx)  +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {#-fun MXNDArraySave as mxNDArraySave_ +fun MXNDArraySave as mxNDArraySave_     {-        `String',+        withCStringT* `Text',         `MX_UINT',         withNDArrayHandleArray* `[NDArrayHandle]',-        withStringArray* `[String]'+        withCStringArrayT* `[Text]'     } -> `CInt' #}+#else+{#+fun MXNDArraySave as mxNDArraySave_+    {+        withCStringT* `Text',+        `CUInt',+        withNDArrayHandleArray* `[NDArrayHandle]',+        withCStringArrayT* `[Text]'+    } -> `CInt'+#}+#endif -mxNDArraySave ::  String -> [(String, NDArrayHandle)] -> IO ()+mxNDArraySave ::  Text -> [(Text, NDArrayHandle)] -> IO () mxNDArraySave filename keyvals = do     let num = length keyvals         (keys, vals) = unzip keyvals@@ -336,18 +379,18 @@ {# fun MXNDArrayLoad as mxNDArrayLoad_     {-        `String',+        withCStringT* `Text',         alloca- `MX_UINT' peek*,         alloca- `Ptr NDArrayHandlePtr' peek*,         alloca- `MX_UINT' peek*,-        alloca- `Ptr (Ptr CChar)' peek*+        alloca- `Ptr CString' peek*     } -> `CInt' #} -mxNDArrayLoad :: String -> IO [(String, NDArrayHandle)]+mxNDArrayLoad :: Text -> IO [(Text, NDArrayHandle)] mxNDArrayLoad path = do     (numArrays, ptrArrays, numNames, ptrNames) <- checked $ mxNDArrayLoad_ path     pa <- peekArray (fromIntegral numArrays) ptrArrays     arrays <- mapM newNDArrayHandle pa-    names <- peekStringArray numNames ptrNames+    names <- peekCStringArrayT (fromIntegral numNames) ptrNames     return $ zip names arrays
c-apis/MXNet/Base/Raw/Symbol.chs view
@@ -1,18 +1,21 @@ {-# LANGUAGE ScopedTypeVariables #-} module MXNet.Base.Raw.Symbol where +import RIO+import qualified RIO.Text as T+import qualified RIO.HashMap as M+import qualified RIO.Vector.Boxed as VB+import qualified RIO.Vector.Boxed.Partial as VB+import Control.Lens ((?~), at, non) import Foreign.Marshal (alloca, withArray, peekArray, allocaBytesAligned) import Foreign.Storable (Storable(..)) import Foreign.Ptr (FunPtr) import Foreign.C.Types-import Foreign.C.String+import Foreign.C.String (CString) import Foreign.Ptr import Foreign.Concurrent (newForeignPtr) import Foreign.ForeignPtr (touchForeignPtr) import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)-import C2HS.C.Extra.Marshal (withIntegralArray, peekIntegralArray, peekString, peekStringArray)-import GHC.Generics (Generic)-import Control.Monad ((>=>))  {# import MXNet.Base.Raw.Common #} {# import MXNet.Base.Raw.NDArray #}@@ -58,20 +61,33 @@ mxSymbolFree :: SymbolHandlePtr -> IO () mxSymbolFree = checked . mxSymbolFree_ +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXSymbolCreateAtomicSymbol as mxSymbolCreateAtomicSymbol_     {         `AtomicSymbolCreator',         `MX_UINT',-        withStringArray* `[String]',-        withStringArray* `[String]',+        withCStringArrayT* `[Text]',+        withCStringArrayT* `[Text]',         alloca- `SymbolHandle' peekSymbolHandle*     } -> `CInt' #}+#else+{#+fun MXSymbolCreateAtomicSymbol as mxSymbolCreateAtomicSymbol_+    {+        `AtomicSymbolCreator',+        `CUInt',+        withCStringArrayT* `[Text]',+        withCStringArrayT* `[Text]',+        alloca- `SymbolHandle' peekSymbolHandle*+    } -> `CInt'+#}+#endif  mxSymbolCreateAtomicSymbol :: AtomicSymbolCreator-                           -> [String]-                           -> [String]+                           -> [Text]+                           -> [Text]                            -> IO SymbolHandle mxSymbolCreateAtomicSymbol creator keys vals = do     let argcnt = fromIntegral $ length keys@@ -80,14 +96,15 @@ {# fun MXSymbolCreateVariable as mxSymbolCreateVariable_     {-        `String',+        withCStringT* `Text',         alloca- `SymbolHandle' peekSymbolHandle*     } -> `CInt' #} -mxSymbolCreateVariable :: String -> IO SymbolHandle+mxSymbolCreateVariable :: Text -> IO SymbolHandle mxSymbolCreateVariable = checked . mxSymbolCreateVariable_ +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXSymbolCreateGroup as mxSymbolCreateGroup_     {@@ -96,6 +113,16 @@         alloca- `SymbolHandle' peekSymbolHandle*     } -> `CInt' #}+#else+{#+fun MXSymbolCreateGroup as mxSymbolCreateGroup_+    {+        `CUInt',+        withSymbolHandleArray* `[SymbolHandle]',+        alloca- `SymbolHandle' peekSymbolHandle*+    } -> `CInt'+#}+#endif  mxSymbolCreateGroup :: [SymbolHandle] -> IO SymbolHandle mxSymbolCreateGroup syms = checked $ mxSymbolCreateGroup_ (fromIntegral $ length syms) syms@@ -103,24 +130,24 @@ {# fun MXSymbolCreateFromJSON as mxSymbolCreateFromJSON_     {-        `String',+        withCStringT* `Text',         alloca- `SymbolHandle' peekSymbolHandle*     } -> `CInt' #} -mxSymbolCreateFromJSON :: String -> IO SymbolHandle+mxSymbolCreateFromJSON :: Text -> IO SymbolHandle mxSymbolCreateFromJSON = checked . mxSymbolCreateFromJSON_  {# fun MXSymbolSaveToJSON as mxSymbolSaveToJSON_     {         `SymbolHandle',-        alloca- `String' peekString*+        alloca- `Text' peekCStringPtrT*     } -> `CInt' #} -mxSymbolSaveToJSON :: SymbolHandle -> IO String-mxSymbolSaveToJSON = checked . mxSymbolSaveToJSON_+mxSymbolSaveToJSON :: SymbolHandle -> IO Text+mxSymbolSaveToJSON = fmap unWrapText . checked . fmap (second WrapText) . mxSymbolSaveToJSON_  {# fun MXSymbolCopy as mxSymbolCopy_@@ -137,27 +164,27 @@ fun MXSymbolPrint as mxSymbolPrint_     {         `SymbolHandle',-        alloca- `String' peekString*+        alloca- `Text' peekCStringPtrT*     } -> `CInt' #} -mxSymbolPrint :: SymbolHandle -> IO String-mxSymbolPrint = checked . mxSymbolPrint_+mxSymbolPrint :: SymbolHandle -> IO Text+mxSymbolPrint = fmap unWrapText . checked . fmap (second WrapText) . mxSymbolPrint_  {# fun MXSymbolGetName as mxSymbolGetName_     {         `SymbolHandle',-        alloca- `Ptr (Ptr CChar)' id,+        alloca- `Ptr CString' id,         alloca- `CInt' peek*     } -> `CInt' #} -mxSymbolGetName :: SymbolHandle -> IO (Maybe String)+mxSymbolGetName :: SymbolHandle -> IO (Maybe Text) mxSymbolGetName symbol = do     (out, succ) <- checked $ mxSymbolGetName_ symbol     if succ == 0 then-        Just <$> peekString out+        Just <$> peekCStringPtrT out     else         return Nothing @@ -165,19 +192,19 @@ fun MXSymbolGetAttr as mxSymbolGetAttr_     {         `SymbolHandle',-        `String',-        alloca- `Ptr (Ptr CChar)' id,+        withCStringT* `Text',+        alloca- `Ptr CString' id,         alloca- `CInt' peek*     } -> `CInt' #}  mxSymbolGetAttr :: SymbolHandle-                -> String-                -> IO (Maybe String)+                -> Text+                -> IO (Maybe Text) mxSymbolGetAttr symbol key = do     (pstr, succ) <- checked $ mxSymbolGetAttr_ symbol key     if succ == 0 then-        Just <$> peekString pstr+        Just <$> peekCStringPtrT pstr     else         return Nothing @@ -185,14 +212,14 @@ fun MXSymbolSetAttr as mxSymbolSetAttr_     {         `SymbolHandle',-        `String',-        `String'+        withCStringT* `Text',+        withCStringT* `Text'     } -> `CInt' #}  mxSymbolSetAttr :: SymbolHandle-                -> String-                -> String+                -> Text+                -> Text                 -> IO () mxSymbolSetAttr symbol key val = checked $ mxSymbolSetAttr_ symbol key val @@ -201,60 +228,75 @@     {         `SymbolHandle',         alloca- `MX_UINT' peek*,-        alloca- `Ptr (Ptr CChar)' peek*+        alloca- `Ptr CString' peek*     } -> `CInt' #}  mxSymbolListAttr :: SymbolHandle-                 -> IO [String]+                 -> IO (HashMap Text (HashMap Text Text)) mxSymbolListAttr symbol = do     (cnt, ptr) <- checked $ mxSymbolListAttr_ symbol-    peekStringArray (fromIntegral cnt) ptr+    cnt <- pure $ fromIntegral cnt+    kvs <- VB.fromList <$> peekCStringArrayT (2 * cnt) ptr+    let kv_tuples = map (\i -> let p = i * 2+                                   q = p + 1+                               in (kvs VB.! p, kvs VB.! q))+                        [0..cnt-1]+        upd m (k, v) = case T.split (=='$') k of+                         [k1, k2] -> m & at k1 . non M.empty . at k2 ?~ v+                         _ -> error ("bad attr " ++ T.unpack k)+    return $ foldl' upd M.empty kv_tuples  {# fun MXSymbolListAttrShallow as mxSymbolListAttrShallow_     {         `SymbolHandle',         alloca- `MX_UINT' peek*,-        alloca- `Ptr (Ptr CChar)' peek*+        alloca- `Ptr CString' peek*     } -> `CInt' #}  mxSymbolListAttrShallow :: SymbolHandle-                        -> IO [String]+                        -> IO (HashMap Text Text) mxSymbolListAttrShallow symbol = do     (cnt, ptr) <- checked $ mxSymbolListAttrShallow_ symbol-    peekStringArray (fromIntegral cnt) ptr+    cnt <- pure $ fromIntegral cnt+    kvs <- VB.fromList <$> peekCStringArrayT (2 * fromIntegral cnt) ptr+    let kv_tuples = map (\i -> let p = i * 2+                                   q = p + 1+                               in (kvs VB.! p, kvs VB.! q))+                        [0..cnt-1]+    return $ M.fromList kv_tuples  {# fun MXSymbolListArguments as mxSymbolListArguments_     {         `SymbolHandle',         alloca- `MX_UINT' peek*,-        alloca- `Ptr (Ptr CChar)' peek*+        alloca- `Ptr CString' peek*     } -> `CInt' #}  mxSymbolListArguments :: SymbolHandle-                      -> IO [String]+                      -> IO [Text] mxSymbolListArguments symbol = do     (cnt, ptr) <- checked $ mxSymbolListArguments_ symbol-    peekStringArray (fromIntegral cnt) ptr+    peekCStringArrayT (fromIntegral cnt) ptr  {# fun MXSymbolListOutputs as mxSymbolListOutputs_     {         `SymbolHandle',         alloca- `MX_UINT' peek*,-        alloca- `Ptr (Ptr CChar)' peek*+        alloca- `Ptr CString' peek*     } -> `CInt' #}  mxSymbolListOutputs :: SymbolHandle-                    -> IO [String]+                    -> IO [Text] mxSymbolListOutputs symbol = do     (cnt, ptr) <- checked $ mxSymbolListOutputs_ symbol-    peekStringArray (fromIntegral cnt) ptr+    peekCStringArrayT (fromIntegral cnt) ptr  {# fun MXSymbolGetInternals as mxSymbolGetInternals_@@ -278,6 +320,7 @@ mxSymbolGetChildren :: SymbolHandle -> IO SymbolHandle mxSymbolGetChildren = checked . mxSymbolGetChildren_ +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXSymbolGetOutput as mxSymbolGetOutput_     {@@ -286,6 +329,17 @@         alloca- `SymbolHandle' peekSymbolHandle*     } -> `CInt' #}+#else+{#+fun MXSymbolGetOutput as mxSymbolGetOutput_+    {+        `SymbolHandle',+        `CUInt',+        alloca- `SymbolHandle' peekSymbolHandle*+    } -> `CInt'+#}+#endif+ mxSymbolGetOutput :: SymbolHandle                    -> Int                    -> IO SymbolHandle@@ -297,42 +351,56 @@     {         `SymbolHandle',         alloca- `MX_UINT' peek*,-        alloca- `Ptr (Ptr CChar)' peek*+        alloca- `Ptr CString' peek*     } -> `CInt' #}-mxSymbolListAuxiliaryStates :: SymbolHandle -> IO [String]+mxSymbolListAuxiliaryStates :: SymbolHandle -> IO [Text] mxSymbolListAuxiliaryStates symbol = do     (cnt, ptr) <- checked $ mxSymbolListAuxiliaryStates_ symbol-    peekStringArray (fromIntegral cnt) ptr+    peekCStringArrayT (fromIntegral cnt) ptr +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXSymbolCompose as mxSymbolCompose_     {         `SymbolHandle',-        `String',+        `Text',         `MX_UINT',-        id `Ptr (Ptr CChar)',+        id `Ptr CString',         withSymbolHandleArray* `[SymbolHandle]'     } -> `CInt' #}+#else+{#+fun MXSymbolCompose as mxSymbolCompose_+    {+        `SymbolHandle',+        withCStringT* `Text',+        `CUInt',+        id `Ptr CString',+        withSymbolHandleArray* `[SymbolHandle]'+    } -> `CInt'+#}+#endif  mxSymbolCompose :: SymbolHandle-                -> String-                -> Maybe [String]+                -> Text+                -> Maybe [Text]                 -> [SymbolHandle]                 -> IO () mxSymbolCompose symbol name maybekeys args = do     let len = fromIntegral $ length args     case maybekeys of       Nothing -> checked $ mxSymbolCompose_ symbol name len C2HSImp.nullPtr args-      Just keys -> withStringArray keys $ \pkeys -> checked $ mxSymbolCompose_ symbol name len pkeys args+      Just keys -> withCStringArrayT keys $ \pkeys -> checked $ mxSymbolCompose_ symbol name len pkeys args +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXSymbolInferShape as mxSymbolInferShape_     {         `SymbolHandle',         `MX_UINT',-        withStringArray* `[String]',+        withCStringArrayT* `[Text]',         withArray* `[MX_UINT]',         withArray* `[MX_UINT]',         alloca- `MX_UINT' peek*,@@ -347,9 +415,31 @@         alloca- `CInt' peek*     } -> `CInt' #}+#else+{#+fun MXSymbolInferShape as mxSymbolInferShape_+    {+        `SymbolHandle',+        `CUInt',+        withCStringArrayT* `[Text]',+        withArray* `[CUInt]',+        withArray* `[CUInt]',+        alloca- `CUInt' peek*,+        alloca- `Ptr CUInt' peek*,+        alloca- `Ptr (Ptr CUInt)' peek*,+        alloca- `CUInt' peek*,+        alloca- `Ptr CUInt' peek*,+        alloca- `Ptr (Ptr CUInt)' peek*,+        alloca- `CUInt' peek*,+        alloca- `Ptr CUInt' peek*,+        alloca- `Ptr (Ptr CUInt)' peek*,+        alloca- `CInt' peek*+    } -> `CInt'+#}+#endif  mxSymbolInferShape :: SymbolHandle-                   -> [String]+                   -> [Text]                    -> [Int]                    -> [Int]                    -> IO ([[Int]], [[Int]], [[Int]], Bool)@@ -362,25 +452,26 @@      auxshape_size, auxshape_ndim, auxshape_data,      complete) <- checked $ mxSymbolInferShape_ symbol num_args' keys arg_ind' arg_shape'     let inshape_size' = fromIntegral inshape_size-    inshape_ndim'    <- peekArray inshape_size' inshape_ndim+    inshape_ndim'    <- map fromIntegral <$> peekArray inshape_size' inshape_ndim     inshape_data'    <- peekArray inshape_size' inshape_data-    inshape_data_ret <- mapM (uncurry peekArrayOfUInt) (zip inshape_ndim' inshape_data')+    inshape_data_ret <- mapM (uncurry peekArrayAsIntegral) (zip inshape_ndim' inshape_data')     let outshape_size'= fromIntegral outshape_size-    outshape_ndim'   <- peekArray outshape_size' outshape_ndim+    outshape_ndim'   <- map fromIntegral <$> peekArray outshape_size' outshape_ndim     outshape_data'   <- peekArray outshape_size' outshape_data-    outshape_data_ret<- mapM (uncurry peekArrayOfUInt) (zip outshape_ndim' outshape_data')+    outshape_data_ret<- mapM (uncurry peekArrayAsIntegral) (zip outshape_ndim' outshape_data')     let auxshape_size'= fromIntegral auxshape_size-    auxshape_ndim'   <- peekArray auxshape_size' auxshape_ndim+    auxshape_ndim'   <- map fromIntegral <$> peekArray auxshape_size' auxshape_ndim     auxshape_data'   <- peekArray auxshape_size' auxshape_data-    auxshape_data_ret<- mapM (uncurry peekArrayOfUInt) (zip auxshape_ndim' auxshape_data')+    auxshape_data_ret<- mapM (uncurry peekArrayAsIntegral) (zip auxshape_ndim' auxshape_data')     return (inshape_data_ret, outshape_data_ret, auxshape_data_ret, complete == 1) +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXSymbolInferShapePartial as mxSymbolInferShapePartial_     {         `SymbolHandle',         `MX_UINT',-        withStringArray* `[String]',+        withCStringArrayT* `[Text]',         withArray* `[MX_UINT]',         withArray* `[MX_UINT]',         alloca- `MX_UINT' peek*,@@ -395,9 +486,31 @@         alloca- `CInt' peek*     } -> `CInt' #}+#else+{#+fun MXSymbolInferShapePartial as mxSymbolInferShapePartial_+    {+        `SymbolHandle',+        `CUInt',+        withCStringArrayT* `[Text]',+        withArray* `[CUInt]',+        withArray* `[CUInt]',+        alloca- `CUInt' peek*,+        alloca- `Ptr CUInt' peek*,+        alloca- `Ptr (Ptr CUInt)' peek*,+        alloca- `CUInt' peek*,+        alloca- `Ptr CUInt' peek*,+        alloca- `Ptr (Ptr CUInt)' peek*,+        alloca- `CUInt' peek*,+        alloca- `Ptr CUInt' peek*,+        alloca- `Ptr (Ptr CUInt)' peek*,+        alloca- `CInt' peek*+    } -> `CInt'+#}+#endif  mxSymbolInferShapePartial :: SymbolHandle-                   -> [String]+                   -> [Text]                    -> [Int]                    -> [Int]                    -> IO ([[Int]], [[Int]], [[Int]], Bool)@@ -410,27 +523,28 @@      auxshape_size, auxshape_ndim, auxshape_data,      complete) <- checked $ mxSymbolInferShapePartial_ symbol num_args' keys arg_ind' arg_shape'     let inshape_size' = fromIntegral inshape_size-    inshape_ndim'    <- peekArray inshape_size' inshape_ndim+    inshape_ndim'    <- map fromIntegral <$> peekArray inshape_size' inshape_ndim     inshape_data'    <- peekArray inshape_size' inshape_data-    inshape_data_ret <- mapM (uncurry peekArrayOfUInt) (zip inshape_ndim' inshape_data')+    inshape_data_ret <- mapM (uncurry peekArrayAsIntegral) (zip inshape_ndim' inshape_data')     let outshape_size'= fromIntegral outshape_size-    outshape_ndim'   <- peekArray outshape_size' outshape_ndim+    outshape_ndim'   <- map fromIntegral <$> peekArray outshape_size' outshape_ndim     outshape_data'   <- peekArray outshape_size' outshape_data-    outshape_data_ret<- mapM (uncurry peekArrayOfUInt) (zip outshape_ndim' outshape_data')+    outshape_data_ret<- mapM (uncurry peekArrayAsIntegral) (zip outshape_ndim' outshape_data')     let auxshape_size'= fromIntegral auxshape_size-    auxshape_ndim'   <- peekArray auxshape_size' auxshape_ndim+    auxshape_ndim'   <- map fromIntegral <$> peekArray auxshape_size' auxshape_ndim     auxshape_data'   <- peekArray auxshape_size' auxshape_data-    auxshape_data_ret<- mapM (uncurry peekArrayOfUInt) (zip auxshape_ndim' auxshape_data')+    auxshape_data_ret<- mapM (uncurry peekArrayAsIntegral) (zip auxshape_ndim' auxshape_data')     return (inshape_data_ret, outshape_data_ret, auxshape_data_ret, complete == 1) -peekArrayOfUInt cnt ptr = peekIntegralArray (fromIntegral cnt)  ptr+peekArrayAsIntegral cnt ptr = map fromIntegral <$> peekArray (fromIntegral cnt) ptr +#if MXNet_MAJOR==1 && MXNet_MINOR<6 {# fun MXSymbolInferType as mxSymbolInferType_     {         `SymbolHandle',         `MX_UINT',-        withStringArray* `[String]',+        withCStringArrayT* `[Text]',         withArray* `[CInt]',         alloca- `MX_UINT' peek*,         alloca- `Ptr CInt' peek*,@@ -441,9 +555,27 @@         alloca- `CInt' peek*     } -> `CInt' #}+#else+{#+fun MXSymbolInferType as mxSymbolInferType_+    {+        `SymbolHandle',+        `CUInt',+        withCStringArrayT* `[Text]',+        withArray* `[CInt]',+        alloca- `MX_UINT' peek*,+        alloca- `Ptr CInt' peek*,+        alloca- `MX_UINT' peek*,+        alloca- `Ptr CInt' peek*,+        alloca- `MX_UINT' peek*,+        alloca- `Ptr CInt' peek*,+        alloca- `CInt' peek*+    } -> `CInt'+#}+#endif  mxSymbolInferType :: SymbolHandle-                  -> [String]+                  -> [Text]                   -> [Int]                   -> IO (Maybe ([Int], [Int], [Int])) mxSymbolInferType symbol keys arg_type = do@@ -454,9 +586,9 @@      auxshape_size, auxshape_data,      succ) <- checked $ mxSymbolInferType_ symbol num_args keys arg_type'     if succ == 0 then do-        inshape_data_ret  <- peekIntegralArray (fromIntegral inshape_size)  inshape_data-        outshape_data_ret <- peekIntegralArray (fromIntegral outshape_size) outshape_data-        auxshape_data_ret <- peekIntegralArray (fromIntegral auxshape_size) auxshape_data+        inshape_data_ret  <- peekArrayAsIntegral (fromIntegral inshape_size)  inshape_data+        outshape_data_ret <- peekArrayAsIntegral (fromIntegral outshape_size) outshape_data+        auxshape_data_ret <- peekArrayAsIntegral (fromIntegral auxshape_size) auxshape_data         return $ Just (inshape_data_ret, outshape_data_ret, auxshape_data_ret)     else         return Nothing@@ -465,11 +597,11 @@ fun MXSymbolSaveToFile as mxSymbolSaveToFile_     {         `SymbolHandle',-        `String'+        withCStringT* `Text'     } -> `CInt' #} -mxSymbolSaveToFile :: String -> SymbolHandle -> IO ()+mxSymbolSaveToFile :: Text -> SymbolHandle -> IO () mxSymbolSaveToFile filename sym = do     checked $ mxSymbolSaveToFile_ sym filename @@ -517,12 +649,12 @@ {# fun MXCustomOpRegister as mxCustomOpRegister_     {-        `String',+        withCStringT* `Text',         id `FunPtr CustomOpPropCreator'     } -> `CInt' #} -mxCustomOpRegister :: String -> FunPtr CustomOpPropCreator -> IO ()+mxCustomOpRegister :: Text -> FunPtr CustomOpPropCreator -> IO () mxCustomOpRegister op cr = checked $ mxCustomOpRegister_ op cr  -- {#
c-apis/MXNet/Base/Spec/HMap.hs view
@@ -8,10 +8,10 @@ {-# LANGUAGE ConstraintKinds #-} module MXNet.Base.Spec.HMap where +import RIO import GHC.TypeLits import Data.Proxy import Data.Typeable (Typeable)-import Data.Maybe import Data.Constraint (Dict(..)) import Type.Reflection (someTypeRep) import Unsafe.Coerce (unsafeCoerce)@@ -24,7 +24,7 @@   Nil  :: Pair p => HMap p '[]   Cons :: Pair p => p k v -> HMap p kvs -> HMap p (p k v ': kvs) -infixr 0 .& +infixr 0 .& kv .& other = Cons kv other  class Access (b :: Bool) p k v kvs | k kvs -> v where@@ -34,7 +34,7 @@   get' _ (Cons pair _) _ = value pair  instance Access (MatchHead p k v kvs) p k v kvs => Access False p k v (kv ': kvs) where-  get' _ (Cons _ n) k = get' (Proxy :: Proxy (MatchHead p k v kvs)) n k  +  get' _ (Cons _ n) k = get' (Proxy :: Proxy (MatchHead p k v kvs)) n k  get :: forall p k v kvs. Access (MatchHead p k v kvs) p k v kvs => HMap p kvs -> Proxy k -> v get = get' (Proxy :: Proxy (MatchHead p k v kvs))
c-apis/MXNet/Base/Spec/Operator.hs view
@@ -1,20 +1,26 @@-{-# LANGUAGE OverloadedLabels  #-}-{-# LANGUAGE PolyKinds, DataKinds, TypeFamilies #-}-{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses #-}-{-# LANGUAGE GADTs, TypeOperators #-}-{-# LANGUAGE UndecidableInstances #-}+{-# LANGUAGE ConstraintKinds       #-}+{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE GADTs                 #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedLabels      #-} {-# LANGUAGE PartialTypeSignatures #-}-{-# LANGUAGE ConstraintKinds #-}-{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE PolyKinds             #-}+{-# LANGUAGE ScopedTypeVariables   #-}+{-# LANGUAGE TypeFamilies          #-}+{-# LANGUAGE TypeOperators         #-}+{-# LANGUAGE UndecidableInstances  #-} module MXNet.Base.Spec.Operator where -import GHC.OverloadedLabels-import GHC.TypeLits-import GHC.Exts (Constraint)-import Data.Proxy-import Data.List (intersperse)-import Data.Constraint-import MXNet.Base.Spec.HMap+import           Data.Constraint+import           Data.Proxy+import           GHC.Exts             (Constraint)+import           GHC.OverloadedLabels+import           GHC.TypeLits+import           MXNet.Base.Spec.HMap+import           RIO                  hiding (Text)+import           RIO.List             (intersperse)+import qualified RIO.Text             as RT  instance a ~ b => IsLabel a (Proxy b) where   fromLabel = Proxy@@ -32,9 +38,9 @@  instance (KnownSymbol v, HasEnum v e) => IsLabel v (EnumType e) where     fromLabel = EnumType (Proxy :: Proxy v)-  + -----type family ParameterList (s :: Symbol) :: [(Symbol, Attr)]+type family ParameterList (s :: Symbol) (t :: *) :: [(Symbol, Attr)]  data Attr where   AttrReq :: (a :: *) -> Attr@@ -44,8 +50,8 @@   ParameterType (AttrReq a) = a   ParameterType (AttrOpt a) = a -type family ResolveParameter (s :: Symbol) (k :: Symbol) :: Attr where-  ResolveParameter s k = FindKey k (ParameterList s) (Text "Parameter '" :<>: +type family ResolveParameter (s :: Symbol) (t :: *) (k :: Symbol) :: Attr where+  ResolveParameter s t k = FindKey k (ParameterList s t) (Text "Parameter '" :<>:                               Text k :<>:                               Text " not found") @@ -56,11 +62,12 @@  ---- -data ArgOf s k v where-  (:=) :: (info ~ ResolveParameter s k) => Proxy k -> ParameterType info -> ArgOf s k (ParameterType info)-  (:≅) :: Proxy k -> a -> ArgOf s k a+data ArgOf s t k v where+  (:=) :: (info ~ ResolveParameter s t k) => Proxy k -> ParameterType info -> ArgOf s t k (ParameterType info)+  -- | (:≅) is an alternative of (:=) that bypasses the type check+  (:≅) :: Proxy k -> a -> ArgOf s t k a -instance Pair (ArgOf s) where+instance Pair (ArgOf s t) where   key   (k := v) = k   key   (k :≅ v) = k   value (k := v) = v@@ -69,84 +76,90 @@ infix 5 !, !? infix 1 :=, :≅ -(!) :: Access (MatchHead (ArgOf s) k v kvs) (ArgOf s) k v kvs -  => ArgsHMap s kvs -> Proxy k -> v+(!) :: Access (MatchHead (ArgOf s t) k v kvs) (ArgOf s t) k v kvs+  => ArgsHMap s t kvs -> Proxy k -> v (!) = get -(!?) :: (ParameterType (ResolveParameter s k) ~ v, Query (MatchHead (ArgOf s) k v kvs) (ArgOf s) k v kvs) -  => ArgsHMap s kvs -> Proxy k -> Maybe v+(!?) :: (ParameterType (ResolveParameter s t k) ~ v, Query (MatchHead (ArgOf s t) k v kvs) (ArgOf s t) k v kvs)+  => ArgsHMap s t kvs -> Proxy k -> Maybe v (!?) = query -type ArgsHMap s kvs = HMap (ArgOf s) kvs+type ArgsHMap s t kvs = HMap (ArgOf s t) kvs ---- class Value a where-  showValue :: a -> String+  showValue :: a -> RT.Text  instance Value (EnumType e) where-  showValue (EnumType v) = symbolVal v+  showValue (EnumType v) = RT.pack $ symbolVal v  instance Value Int where-  showValue = show+  showValue = tshow  instance Value Bool where-  showValue = show+  showValue = tshow  instance Value Float where-  showValue = show+  showValue = tshow  instance Value Double where-  showValue = show+  showValue = tshow +instance Value RT.Text where+  showValue = id+ instance Value a => Value (Maybe a) where-  showValue Nothing = "None"+  showValue Nothing  = "None"   showValue (Just a) = showValue a-  ++instance (Value a, Value b) => Value (a, b) where+  showValue (a, b) = RT.concat $ ["("] ++ [showValue a, ",", showValue b] ++ [")"]+ instance ValueList (IsChar a) [a] => Value [a] where   showValue = showValueList (Proxy :: Proxy (IsChar a))  class ValueList (str :: Bool) as where-  showValueList :: Proxy str -> as -> String+  showValueList :: Proxy str -> as -> RT.Text  instance ValueList True String where-  showValueList _ = id+  showValueList _ = RT.pack  instance Value a => ValueList False [a] where-  showValueList _ as = "[" ++ concat (intersperse "," (map showValue as)) ++ "]"+  showValueList _ as = RT.concat $ ["["] ++ intersperse "," (map showValue as) ++ ["]"]  type family IsChar a :: Bool where   IsChar Char = True   IsChar x = False  class Dump a where-  dump :: a -> [(String, String)]+  dump :: a -> [(RT.Text, RT.Text)] -instance Dump (ArgsHMap s '[]) where+instance Dump (ArgsHMap s t '[]) where   dump = const [] -instance (Dump (ArgsHMap s kvs), KnownSymbol k, Value v) => Dump (ArgsHMap s (ArgOf s k v ': kvs)) where-  dump (Cons (k := v) kvs) = (symbolVal k, showValue v) : dump kvs-  dump (Cons (k :≅ v) kvs) = (symbolVal k, showValue v) : dump kvs+instance (Dump (ArgsHMap s t kvs), KnownSymbol k, Value v) => Dump (ArgsHMap s t (ArgOf s t k v ': kvs)) where+  dump (Cons (k := v) kvs) = (RT.pack $ symbolVal k, showValue v) : dump kvs+  dump (Cons (k :≅ v) kvs) = (RT.pack $ symbolVal k, showValue v) : dump kvs  ---- type family Subset (s1 :: [(Symbol, *)]) (s2 :: [(Symbol, *)]) :: Constraint where   Subset '[] _ = ()-  Subset ('(a, t) ': s1) s2 = ( IfThenElse (HasElement '(a,t) s2) -                                  (() :: Constraint) +  Subset ('(a, t) ': s1) s2 = ( IfThenElse (HasElement '(a,t) s2)+                                  (() :: Constraint)                                   (TypeError (Text "Argument '" :<>: Text a :<>: Text "' is required."))                               , Subset s1 s2)   Subset a b = TypeError (Text "xx")  type family AsKVs (a :: [*]) :: [(Symbol, *)] where-  AsKVs (ArgOf s k v ': args) = '(k, v) ': AsKVs args+  AsKVs (ArgOf s t k v ': args) = '(k, v) ': AsKVs args   AsKVs '[] = '[] -type family GenAccess s kvs (req :: [(Symbol, *)]) :: Constraint where-  GenAccess s kvs '[] = ()-  GenAccess s kvs ('(k, v) ': req) = (Access (MatchHead (ArgOf s) k v kvs) (ArgOf s) k v kvs, GenAccess s kvs req)+type family GenAccess s t kvs (req :: [(Symbol, *)]) :: Constraint where+  GenAccess s t kvs '[] = ()+  GenAccess s t kvs ('(k, v) ': req) = (Access (MatchHead (ArgOf s t) k v kvs) (ArgOf s t) k v kvs, GenAccess s t kvs req) -type family GenQuery  s kvs (req :: [(Symbol, *)]) :: Constraint where-  GenQuery  s kvs '[]  = ()-  GenQuery  s kvs ('(k, v) ': req) = (Query  (MatchHead (ArgOf s) k v kvs) (ArgOf s) k v kvs, GenQuery  s kvs req)+type family GenQuery  s t kvs (req :: [(Symbol, *)]) :: Constraint where+  GenQuery  s t kvs '[]  = ()+  GenQuery  s t kvs ('(k, v) ': req) = (Query  (MatchHead (ArgOf s t) k v kvs) (ArgOf s t) k v kvs, GenQuery  s t kvs req)   type family FilterRequired (pl :: [(k, Attr)]) :: [(k, *)] where@@ -160,32 +173,32 @@   AllArgs ('(s, AttrReq t) ': pl) = '(s,t) ': AllArgs pl   AllArgs ('(s, AttrOpt t) ': pl) = '(s,t) ': AllArgs pl -type family Fullfilled (s :: Symbol) (args :: [*]) :: Constraint where-  Fullfilled s args = ( Subset ( FilterRequired (ParameterList s)) (AsKVs args)-                      , GenAccess s args (FilterRequired (ParameterList s))-                      , GenQuery  s args (AllArgs (ParameterList s)))+type family Fullfilled (s :: Symbol) t (args :: [*]) :: Constraint where+  Fullfilled s t args = ( Subset ( FilterRequired (ParameterList s t)) (AsKVs args)+                        , GenAccess s t args (FilterRequired (ParameterList s t))+                        , GenQuery  s t args (AllArgs (ParameterList s t)))  -- type family HasOptArg (s :: Symbol) (args :: [*]) (k :: [Symbol]) :: Constraint where --   HasOptArg s args '[] = ()---   HasOptArg s args (k0 ': ks) = ( Query (MatchHead (ArgOf s) k0 (ParameterType (ResolveParameter s k0)) args) ---                                         (ArgOf s) ---                                         k0 ---                                         (ParameterType (ResolveParameter s k0)) +--   HasOptArg s args (k0 ': ks) = ( Query (MatchHead (ArgOf s) k0 (ParameterType (ResolveParameter s k0)) args)+--                                         (ArgOf s)+--                                         k0+--                                         (ParameterType (ResolveParameter s k0)) --                                         args --                                 , HasOptArg s args ks)  -- type family HasReqArg (s :: Symbol) (args :: [*]) (k :: [Symbol]) :: Constraint where --   HasReqArg s args '[] = ()---   HasReqArg s args (k0 ': ks) = ( Access (MatchHead (ArgOf s) k0 (ParameterType (ResolveParameter s k0)) args) ---                                         (ArgOf s) ---                                         k0 ---                                         (ParameterType (ResolveParameter s k0)) +--   HasReqArg s args (k0 ': ks) = ( Access (MatchHead (ArgOf s) k0 (ParameterType (ResolveParameter s k0)) args)+--                                         (ArgOf s)+--                                         k0+--                                         (ParameterType (ResolveParameter s k0)) --                                         args --                                 , HasElement '(k0, ParameterType (ResolveParameter s k0)) (AsKVs args) ~ True---                                 , Query  (MatchHead (ArgOf s) k0 (ParameterType (ResolveParameter s k0)) args) ---                                         (ArgOf s) ---                                         k0 ---                                         (ParameterType (ResolveParameter s k0)) +--                                 , Query  (MatchHead (ArgOf s) k0 (ParameterType (ResolveParameter s k0)) args)+--                                         (ArgOf s)+--                                         k0+--                                         (ParameterType (ResolveParameter s k0)) --                                         args --                                 , HasReqArg s args ks) @@ -195,17 +208,17 @@                                     ,HasElement '(k, t) (AsKVs args) ~ True                                     ,Query (MatchHead p k t args) p k t args) -type family HasArgs (s :: Symbol) (args :: [*]) (k :: [Symbol]) :: Constraint where-  HasArgs s args '[] = ()-  HasArgs s args (k0 ': ks) = (HasArgsGen (ArgOf s) (ResolveParameter s k0) k0 args, HasArgs s args ks)+type family HasArgs (s :: Symbol) t (args :: [*]) (k :: [Symbol]) :: Constraint where+  HasArgs s t args '[] = ()+  HasArgs s t args (k0 ': ks) = (HasArgsGen (ArgOf s t) (ResolveParameter s t k0) k0 args, HasArgs s t args ks)  type family WithoutArgsGen p t k args :: Constraint where   WithoutArgsGen p t k args = (Query (MatchHead p k t args) p k t args                               ,HasElement '(k, t) (AsKVs args) ~ False) -type family WithoutArgs (s :: Symbol) (args :: [*]) (k :: [Symbol]) :: Constraint where-  WithoutArgs s args '[] = ()-  WithoutArgs s args (k0 ': ks) = (WithoutArgsGen (ArgOf s) (ParameterType (ResolveParameter s k0)) k0 args, WithoutArgs s args ks)+type family WithoutArgs (s :: Symbol) t (args :: [*]) (k :: [Symbol]) :: Constraint where+  WithoutArgs s t args '[] = ()+  WithoutArgs s t args (k0 ': ks) = (WithoutArgsGen (ArgOf s t) (ParameterType (ResolveParameter s t k0)) k0 args, WithoutArgs s t args ks) ---- type family HasElement (s :: k) (l :: [k]) :: Bool where   HasElement s (s ': _) = True@@ -218,36 +231,36 @@  ------------------------------------- -type instance ParameterList "fn" = [-  '("a", AttrReq Int), +type instance ParameterList "fn" t = [+  '("a", AttrReq Int),   '("b", AttrOpt String),   '("c", AttrReq (EnumType '["c1","c2"])),   '("d", AttrOpt (Maybe (EnumType '["c1","c2"])))   ]-args1 :: ArgsHMap "fn" _+args1 :: ArgsHMap "fn" _ _ args1 = Nil -args2 :: ArgsHMap "fn" _+args2 :: ArgsHMap "fn" _ _ args2 = #a := 3 .& Nil -args3 :: ArgsHMap "fn" _+args3 :: ArgsHMap "fn" _ _ args3 = #a := 3 .& #b := "Hello" .& Nil -args4 :: ArgsHMap "fn" _+args4 :: ArgsHMap "fn" _ _ args4 = #a := 3 .& #c := #c1 .& Nil -args5 :: ArgsHMap "fn" _+args5 :: ArgsHMap "fn" _ _ args5 = #a := 3 .& #c := #c1 .& #d := Just #c2 .& Nil -fn1 :: Fullfilled "fn" args => ArgsHMap "fn" args -> _+fn1 :: Fullfilled "fn" t args => ArgsHMap "fn" t args -> _ fn1 args = args !? #b -fn2 :: GenQuery "fn" args '[ '("b", String), '("d", (Maybe (EnumType '["c1","c2"])))]-    => ArgsHMap "fn" args -> _+fn2 :: GenQuery "fn" t args '[ '("b", String), '("d", (Maybe (EnumType '["c1","c2"])))]+    => ArgsHMap "fn" t args -> _ fn2 args = fn1 (#a := 3 .& #c := #c1 .& args) -fn3 :: (HasArgs "fn" args '["b", "c", "d"]) => ArgsHMap "fn" args -> _+fn3 :: (HasArgs "fn" t args '["b", "c", "d"]) => ArgsHMap "fn" t args -> _ fn3 args = fn1 (#a := 3 .& args) -fn4 :: (HasArgs "fn" args '["c", "b", "d"], WithoutArgs "fn" args '["a"]) => ArgsHMap "fn" args -> _+fn4 :: (HasArgs "fn" t args '["c", "b", "d"], WithoutArgs "fn" t args '["a"]) => ArgsHMap "fn" t args -> _ fn4 args = fn1 (#a := 3 .& args)
c-apis/MXNet/Base/Symbol.hs view
@@ -1,82 +1,100 @@-{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE PartialTypeSignatures #-}+{-# LANGUAGE ViewPatterns          #-} module MXNet.Base.Symbol where -import Foreign.Marshal.Array-import Foreign.Marshal.Alloc-import Foreign.Storable-import Foreign.Ptr-import Foreign.C.String-import Foreign.C.Types-import Control.Monad-import Control.Exception.Base (assert, Exception, throwIO)-import Data.List (groupBy)-import Data.Function-import Data.Maybe-import Text.Printf (printf)-import Control.Concurrent.MVar-import qualified Data.Vector as V-import qualified Data.Vector.Mutable as VM-import Data.Typeable (Typeable)-import Control.Exception.Base (Exception, throwIO)+import qualified Data.Vector.Mutable     as VM+import           RIO+import           RIO.List                (headMaybe, scanl, unzip)+import qualified RIO.NonEmpty            as RNE+import           RIO.Partial             (toEnum)+import qualified RIO.Vector.Boxed        as V+import qualified RIO.Vector.Boxed.Unsafe as V -import qualified MXNet.Base.Raw as I-import MXNet.Base.Types (ForeignData(..))-import Debug.Trace+import           Data.Typeable           (Typeable)+import           Foreign.C.String+import           Foreign.C.Types+import           Foreign.Marshal.Alloc+import           Foreign.Marshal.Array+import           Foreign.Ptr+import           Foreign.Storable +import qualified MXNet.Base.Raw          as I+import           MXNet.Base.Types        (ForeignData (..))+ newtype Symbol a = Symbol { unSymbol :: I.SymbolHandle }  instance ForeignData (Symbol a) where     touch = I.touchSymbolHandle . unSymbol  data SymbolException = SymbolIndexOutOfBound Int Int-                     | SymbolNameNotFound String+    | SymbolNameNotFound Text+    | SymbolMultipleOutputs Text     deriving (Typeable, Show) instance Exception SymbolException +data FShape = STensor+    { _shape_nonempty :: NonEmpty Int+    }+    | SScalar+    deriving Show++shapeLength (STensor l) = length l+shapeLength SScalar     = 0++shapeToList (STensor l) = RNE.toList l+shapeToList SScalar     = []++shapeCons a (STensor s) = STensor $ a RNE.<| s+shapeCons a SScalar     = STensor $ a RNE.:| []+ class SymbolClass s where-    getName             :: s -> IO (Maybe String)-    listArguments       :: s -> IO [String]-    listOutputs         :: s -> IO [String]-    listAuxiliaryStates :: s -> IO [String]-    numOutputs          :: s -> IO Int-    at                  :: s -> Int -> IO s-    group               :: [s] -> IO s-    internals           :: s -> IO s-    inferShape          :: s -> [(String, [Int])] ->IO ([(String, [Int])], [(String, [Int])], [(String, [Int])], Bool)+    getName             :: (HasCallStack, MonadIO m) => s -> m (Maybe Text)+    listArguments       :: (HasCallStack, MonadIO m) => s -> m [Text]+    listOutputs         :: (HasCallStack, MonadIO m) => s -> m [Text]+    listAuxiliaryStates :: (HasCallStack, MonadIO m) => s -> m [Text]+    numOutputs          :: (HasCallStack, MonadIO m) => s -> m Int+    at                  :: (HasCallStack, MonadIO m) => s -> Int -> m s+    group               :: (HasCallStack, MonadIO m) => [s] -> m s+    internals           :: (HasCallStack, MonadIO m) => s -> m s+    inferShape          :: (HasCallStack, MonadIO m)+                        => s -> [(Text, FShape)]+                        -> m ([(Text, FShape)], [(Text, FShape)], [(Text, FShape)], Bool) -    at'                 :: s -> String -> IO s+    at'                 :: (HasCallStack, MonadIO m) => s -> Text -> m s     at' sym name = do         all_names <- listOutputs sym         case V.findIndex (== name) $ V.fromList all_names of             Just idx -> at sym idx-            Nothing -> throwIO (SymbolNameNotFound name)+            Nothing  -> throwIO (SymbolNameNotFound name)  instance SymbolClass I.SymbolHandle where-    getName = I.mxSymbolGetName-    listArguments       = I.mxSymbolListArguments-    listOutputs         = I.mxSymbolListOutputs-    listAuxiliaryStates = I.mxSymbolListAuxiliaryStates-    numOutputs          = I.mxSymbolGetNumOutputs-    at sym index = do+    getName = liftIO . I.mxSymbolGetName+    listArguments       = liftIO . I.mxSymbolListArguments+    listOutputs         = liftIO . I.mxSymbolListOutputs+    listAuxiliaryStates = liftIO . I.mxSymbolListAuxiliaryStates+    numOutputs          = liftIO . I.mxSymbolGetNumOutputs+    at sym index = liftIO $ do         max <- numOutputs sym         if index < 0 || index >= max then             throwIO (SymbolIndexOutOfBound index max)         else             I.mxSymbolGetOutput sym index-    group = I.mxSymbolCreateGroup-    internals = I.mxSymbolGetInternals+    group = liftIO . I.mxSymbolCreateGroup+    internals = liftIO . I.mxSymbolGetInternals -    inferShape sym known = do+    inferShape sym known = liftIO $ do         let (names, shapes) = unzip known-            arg_ind = scanl (+) 0 $ map length shapes-            arg_shp = concat shapes+            arg_ind = scanl (+) 0 $ map shapeLength shapes+            arg_shp = concatMap shapeToList shapes         (inp_shp, out_shp, aux_shp, complete) <- I.mxSymbolInferShapePartial sym names arg_ind arg_shp         inps <- listArguments sym         outs <- listOutputs sym         auxs <- listAuxiliaryStates sym         return (pair inps inp_shp, pair outs out_shp, pair auxs aux_shp, complete)       where-        pair names shapes = filter (not . null . snd) $ zip names shapes+        build name (RNE.nonEmpty -> Just s) = (name, STensor s)+        build name _                        = (name, SScalar)+        pair names shapes = zipWith build names shapes  instance SymbolClass (Symbol a) where     getName             = getName . unSymbol@@ -86,31 +104,50 @@     numOutputs          = numOutputs . unSymbol     at (Symbol s)       = (Symbol <$>) . at s     group = (Symbol <$>) . group . map unSymbol-    internals           = (Symbol <$>) . internals . unSymbol +    internals           = (Symbol <$>) . internals . unSymbol     inferShape          = inferShape  . unSymbol +listInternals :: (SymbolClass sym, MonadIO m) => sym -> m [Text]+listInternals sym = internals sym >>= listOutputs -data StorageType = StorageTypeUndefined -- -1-                 | StorageTypeDefault   --  0-                 | StorageTypeRowSparse --  1-                 | StorageTypeCSR       --  2-  deriving (Eq, Bounded, Enum, Show)+getInternalByName :: (SymbolClass sym, MonadIO m) => sym -> Text -> m (Maybe sym)+getInternalByName sym name = liftIO $ handle on_exc $ do+    layers <- internals sym+    target <- at' layers name+    return $ Just target+  where+      on_exc :: SymbolException -> IO (Maybe a)+      on_exc _ = return Nothing +inferOutputShape :: (SymbolClass sym, MonadIO m) => sym  -> [(Text, FShape)] -> m FShape+inferOutputShape sym input_shapes = do+    (_, out, _, _) <- inferShape sym input_shapes+    case out of+      [(_, shp)] -> return shp+      _ -> throwIO (SymbolMultipleOutputs "use `inferShape` to get list of output shapes.")++data StorageType = StorageTypeUndefined+    | StorageTypeDefault+    | StorageTypeRowSparse+    | StorageTypeCSR+    deriving (Eq, Bounded, Enum, Show)+ toStorageType :: Integral a => a -> StorageType toStorageType = toEnum . (+1) . fromIntegral  fromStorageType :: Integral a => StorageType -> a fromStorageType = fromIntegral . (subtract 1) . fromEnum -data MXDType = TyNone       -- -1-             | TyFloat32    --  0-             | TyFloat64    --  1-             | TyFloat16    --  2-             | TyUInt8      --  3-             | TyInt32      --  4-             | TyInt8       --  5-             | TyInt64      --  6-  deriving (Eq, Bounded, Enum, Show)+-- MXDType values: -1, 0, 1, 2, 3, 4, 5, 6+data MXDType = TyNone+    | TyFloat32+    | TyFloat64+    | TyFloat16+    | TyUInt8+    | TyInt32+    | TyInt8+    | TyInt64+    deriving (Eq, Bounded, Enum, Show)  toMXDType :: Integral a => a -> MXDType toMXDType = toEnum . (+1) . fromIntegral@@ -118,6 +155,7 @@ fromMXDType :: Integral a => MXDType -> a fromMXDType = fromIntegral . (subtract 1) . fromEnum +-- TODO: change String to Text class CustomOperation (Operation prop) => CustomOperationProp prop where     -- list the names of inputs     prop_list_arguments        :: prop -> [String]@@ -128,7 +166,7 @@     -- infer the shape.     -- params: shapes of each inputs     -- return: shapes of inputs, outputs, auxiliary states-    prop_infer_shape :: prop -> [[Int]] -> ([[Int]], [[Int]], [[Int]])+    prop_infer_shape :: prop -> [FShape] -> ([FShape], [FShape], [FShape])     -- declare the dependency of symbols     -- params: unique indices of inputs, outputs, auxiliary states     -- return: dependant indices.@@ -157,10 +195,10 @@         in withAssert (ograd_stype', in_stype', out_stype', igrad_stype', aux_stype')     prop_infer_type :: prop -> [MXDType] -> ([MXDType],[MXDType], [MXDType])     prop_infer_type prop in_type =-        let t0 = head in_type-            out_type = replicate (length (prop_list_outputs prop)) t0-            aux_type = replicate (length (prop_list_auxiliary_states prop)) t0-        in (in_type, out_type, aux_type)+        case headMaybe in_type of+            Just t0 -> let out_type = replicate (length (prop_list_outputs prop)) t0+                           aux_type = replicate (length (prop_list_auxiliary_states prop)) t0+                       in (in_type, out_type, aux_type)      data Operation prop :: *     prop_create_operator :: prop -> [[Int]] -> [MXDType] -> IO (Operation prop)@@ -180,20 +218,28 @@              -> [I.NDArrayHandle]              -> IO () -data ReqEnum = ReqNull | ReqWrite | ReqInplace | ReqAdd+data ReqEnum = ReqNull+    | ReqWrite+    | ReqInplace+    | ReqAdd     deriving (Bounded, Enum) -registerCustomOperator :: CustomOperationProp op => (String, [(String, String)] -> IO op) -> IO ()+registerCustomOperator :: CustomOperationProp op => (Text, [(Text, Text)] -> IO op) -> IO () registerCustomOperator (op_type, op_ctor) = do     ptr_creator <- I.mkCustomOpPropCreator creator     I.mxCustomOpRegister op_type ptr_creator   where     creator name argc keys values ret = do         let argc' = fromIntegral argc-        keys_ <- peekArray argc' keys   >>= mapM peekCString-        vals_ <- peekArray argc' values >>= mapM peekCString+        keys_ <- peekArray argc' keys   >>= mapM I.peekCStringT+        vals_ <- peekArray argc' values >>= mapM I.peekCStringT         prop <- op_ctor $ zip keys_ vals_ +        -- TODO: a safer way is use ForeignPtr,+        -- malloc the str as ForeignPtr, and save+        -- to the allocList. When the delete_entry is+        -- called, it take away all ForeignPtr, and+        -- effectively informs GC to revoke underlying memory.         args <- mapM newCString (prop_list_arguments prop)         ptr_args <- newArray $ args ++ [nullPtr] @@ -264,19 +310,22 @@         -- read each shape of each input         inp_shape_0 <- zipWithM (\i j -> do ptr <- peekElemOff in_out_shapes_tensor i                                             arr <- peekArray j ptr-                                            return $ map fromIntegral arr)+                                            case RNE.map fromIntegral <$> RNE.nonEmpty arr of+                                                Nothing  -> return SScalar+                                                Just shp -> return $ STensor shp)                                 [0..] (map fromIntegral inp_dim_0)          let (inp_shape, out_shape, aux_shape) = prop_infer_shape prop inp_shape_0             all_shape = inp_shape ++ out_shape ++ aux_shape-            all_shape_sizes = map length all_shape+            all_shape_sizes = map shapeLength all_shape          assert (length all_shape == num_tensor') (return ())          pokeArray in_out_dim_tensor (map fromIntegral all_shape_sizes)         -- no need to allocate new dimensions of inputs/outputs/auxiliaries         -- only need to allocate new shapes for each-        ptr_0 <- newArray (map fromIntegral (concat all_shape) :: [CInt])+        let shape_vec = map fromIntegral $ concatMap shapeToList all_shape :: [CInt]+        ptr_0 <- newArray shape_vec         modifyMVar_ allocList (return . (castPtr ptr_0 :))          let size_UINT = sizeOf (undefined :: I.MX_UINT)@@ -337,8 +386,11 @@             num_tensor' = fromIntegral num_tensor         tags' <- peekArray num_tensor' tags         tensor_types' <- peekArray num_tensor' tensor_stypes-        let tensors = groupBy ((==) `on` fst) (zip tags' tensor_types')-            tensors_table = map (\t -> (fst (head t), map (toStorageType . snd) t)) tensors+        let tensors = RNE.groupBy ((==) `on` fst) (zip tags' tensor_types')+            tensors_table = map (\t ->+                let tag = fst $ RNE.head t+                    sto = RNE.toList $ RNE.map (toStorageType . snd) t+                in (tag, sto)) tensors             [ograd0, input0, output0, igrad0, aux0] = map (fromMaybe [] . flip lookup tensors_table) [3, 0, 1, 2, 4]             (ograd, input, output, igrad, aux) = prop_infer_storage_type_backward prop ograd0 input0 output0 igrad0 aux0             all_stypes = map fromStorageType $ ograd ++ input ++ output ++ igrad ++ aux@@ -358,7 +410,7 @@         let size = 3         ptr_callbacks <- mallocArray size         ptr_contexts  <- newArray (replicate size nullPtr)-        allocList <- newMVar $ [castPtr ptr_callbacks, castPtr ptr_contexts]+        allocList <- newMVar $ ([castPtr ptr_callbacks, castPtr ptr_contexts] :: [_])          ptr_delete_entry        <- I.mkCustomFunctionDelFunc (delete_entry allocList)         ptr_func_forward_entry  <- I.mkCustomFunctionBwdFunc (func_forward_entry  op)@@ -415,4 +467,5 @@         backward op reqs in_data out_data in_grad out_grad aux         return 1 -    (!) = (V.!)+    (!) = V.unsafeIndex+
+ c-apis/MXNet/Base/Tensor.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE MultiParamTypeClasses  #-}+{-# LANGUAGE TypeFamilyDependencies #-}+module MXNet.Base.Tensor where++import           Data.Bifunctor           (bimap)+import           Data.Kind                (Constraint)+import           RIO+import           RIO.List                 (unzip)++import {-# SOURCE #-} MXNet.Base.NDArray+import           MXNet.Base.Raw.Common+import           MXNet.Base.Raw.NDArray+import           MXNet.Base.Raw.Symbol+import           MXNet.Base.Spec.Operator (ArgsHMap)+import           MXNet.Base.Symbol+import           MXNet.Base.Types+++-- TensorApply is injective+type family TensorApply t = c | c -> t where+    TensorApply NDArrayHandle = Maybe [NDArrayHandle] -> IO [NDArrayHandle]+    TensorApply (NDArray a) = Maybe [NDArray a] -> IO [NDArray a]+    TensorApply SymbolHandle = Text -> IO SymbolHandle++type family TensorMonad t :: * -> *++type instance TensorMonad (NDArray a)   = IO+type instance TensorMonad NDArrayHandle = IO++type TensorM t = TensorMonad t t+++class TensorOp ti to where+    apply :: HasCallStack => Text -> [(Text, Text)] -> Either [(Text, ti)] [ti] -> TensorApply to+++class TensorOp ti to => PrimTensorOp ti to where+    prim :: HasCallStack => (ArgsHMap s ti a -> TensorApply to) -> ArgsHMap s ti a -> TensorM to+++instance TensorOp NDArrayHandle NDArrayHandle where+    apply opname scalars tensors outputs = do+        let tensors' = case tensors of+                         Left kwargs -> snd $ unzip kwargs+                         Right args  -> args+        op <- nnGetOpHandle opname+        mxImperativeInvoke (fromOpHandle op) tensors' scalars outputs+++instance (DType a, DType b) => TensorOp (NDArray a) (NDArray b) where+    apply opname scalars tensors outputs = do+        let tensors' = bimap (map (second unNDArray)) (map unNDArray) tensors+            outputs' = fmap (map unNDArray) outputs :: Maybe [NDArrayHandle]+        ret <- apply opname scalars tensors' outputs' :: IO [NDArrayHandle]+        return $ map NDArray ret+++instance TensorOp SymbolHandle SymbolHandle where+    apply opname scalars tensors name = do+        let (scalarkeys, scalarvals) = unzip scalars+            (tensorkeys, tensorvals) = case tensors of+                                         Left kwargs -> first Just $ unzip kwargs+                                         Right args  -> (Nothing, args)+        op <- nnGetOpHandle opname+        sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op)+                                          scalarkeys+                                          scalarvals+        mxSymbolCompose sym name tensorkeys tensorvals+        return sym++instance PrimTensorOp NDArrayHandle NDArrayHandle where+    prim op args = op args Nothing >>= \[x] -> return x+++instance (DType a, DType b) => PrimTensorOp (NDArray a) (NDArray b) where+    prim op args = op args Nothing >>= \[x] -> return x++
c-apis/MXNet/Base/Types.hs view
@@ -1,29 +1,48 @@-{-# LANGUAGE DataKinds #-}+{-# LANGUAGE DataKinds    #-} {-# LANGUAGE TypeFamilies #-} module MXNet.Base.Types where -import Foreign.Storable (Storable)-import Data.Vector.Unboxed (Unbox)-import Data.Proxy (Proxy(..))-import GHC.TypeLits (Symbol, KnownSymbol)+import           Data.Proxy         (Proxy (..))+import           GHC.TypeLits       (KnownSymbol, Symbol)+import           RIO+import           RIO.Vector.Unboxed (Unbox) -data Context = Context { _device_type :: Int, _device_id :: Int }-  deriving (Eq, Show)+data Context = Context+    { _device_type :: Int+    , _device_id   :: Int+    }+    deriving (Eq, Show) -class (Storable a, Unbox a, Show a, Num a, Floating a, Real a, RealFrac a, KnownSymbol (DTypeName a)) => DType a where-  type DTypeName a :: Symbol-  typename :: a -> Proxy (DTypeName a)-  typename a = Proxy+class (Storable a,+       Unbox a,+       Show a,+       Eq a,+       Num a,+       Read a,+       KnownSymbol (DTypeName a)) => DType a where+    type DTypeName a :: Symbol+    typename :: a -> Proxy (DTypeName a)+    typename a = Proxy -  flag :: a -> Int+    flag :: a -> Int ++class (RealFloat a, DType a) => FloatDType a+ instance DType Float where-  type DTypeName Float = "float32"-  flag _ = 0    -- mshadow::kFloat32+    type DTypeName Float = "float32"+    flag _ = 0    -- mshadow::kFloat32  instance DType Double where-  type DTypeName Double = "float64"-  flag _ = 1    -- mshadow::kFloat64+    type DTypeName Double = "float64"+    flag _ = 1    -- mshadow::kFloat64++instance FloatDType Float+instance FloatDType Double++instance DType Word8 where+    type DTypeName Word8 = "uint8"+    flag _ = 3    -- mshadow::kUint8  contextCPU :: Context contextCPU = Context 1 0
cmdline/Main.hs view
@@ -1,29 +1,35 @@ module Main where -import Options.Applicative hiding (optional)-import Data.Semigroup ((<>))-import Language.Haskell.Exts-import qualified Data.Text as T-import System.Log.Logger-import Control.Monad-import Control.Monad.Writer (Writer, execWriter, tell)-import Data.Either-import Data.Char (toLower, isUpper, isSpace, isAlphaNum)-import Text.Printf (printf)-import Text.ParserCombinators.ReadP-import System.FilePath-import System.Directory+import           Prelude+import           RIO                          (first, forM, on, zipWithM_, (<>))+import           RIO.Char                     (isAlphaNum, isSpace, isUpper,+                                               toLower)+import           RIO.Directory+import           RIO.FilePath                 (FilePath, (</>))+import           RIO.List                     (sortBy)+import qualified RIO.Text                     as T+import           RIO.Writer                   (Writer, execWriter, tell) -import MXNet.Base.Raw+import           Data.Tuple.Ops               (uncons)+import           Language.Haskell.Exts+import           Options.Applicative          hiding (optional)+import           System.Log.Logger+import           Text.ParserCombinators.ReadP+import           Text.Printf                  (printf) +import           MXNet.Base.Raw.Common+import           MXNet.Base.Raw.DataIter+import           MXNet.Base.Raw.NDArray+import           MXNet.Base.Raw.Symbol+ _module_ = "Main" -data Arguments = Arguments {-    output_dir :: FilePath-}+data Arguments = Arguments+    { output_dir :: FilePath+    }  args_spec = Arguments-         <$> strOption (long "output" <> short 'o' <> value "operators" <> metavar "OUTPUT-DIR")+         <$> strOption (long "output" <> short 'o' <> value "tmp" <> metavar "OUTPUT-DIR")  main = do     updateGlobalLogger _module_ (setLevel INFO)@@ -32,294 +38,246 @@     createDirectoryIfMissing True base      ops  <- mxSymbolListAtomicSymbolCreators+    op_names <- mapM getOpName ops+    let ops_sorted = map snd $ sortBy (compare `on` fst) $ zip op_names ops -    infoM _module_ "Generating Symbol operators..."-    symbols <- concat <$> mapM genSymOp ops-    writeFile (base </> "Symbol.hs") $ prettyPrint (modSymbol symbols)+    infoM _module_ "Generating NDArray/Symbol operators..."+    ops <- concat <$> mapM genTensorOp ops_sorted+    writeFile (base </> "Tensor.hs") $ prettyPrint (modTensor ops) -    infoM _module_ "Generating NDArray operators..."-    arrays  <- concat <$> mapM genArrOp ops-    writeFile (base </> "NDArray.hs") $ prettyPrint (modArray arrays)+    dataitercreators  <- mxListDataIters+    infoM _module_ "Generating DataIter..."+    dataiters <- concat <$> mapM genDataIter (zip dataitercreators [0..])+    let base = output_dir args </> "MXNet" </> "Base"+    writeFile (base </> "DataIter.hs") $ prettyPrint (modDataIter dataiters)    where     opts = info (args_spec <**> helper) (fullDesc <> progDesc "Generate MXNet operators")-    modSymbol = Module () (Just $ ModuleHead () (ModuleName () "MXNet.Base.Operators.Symbol") Nothing Nothing) []-                [ simpleImport "MXNet.Base.Raw"-                , simpleImport "MXNet.Base.Spec.Operator"-                , simpleImport "MXNet.Base.Spec.HMap"-                , simpleImportVars "Data.Maybe" ["catMaybes", "fromMaybe"]]-    modArray  = Module () (Just $ ModuleHead () (ModuleName () "MXNet.Base.Operators.NDArray") Nothing Nothing) []-                [ simpleImport "MXNet.Base.Raw"+    modTensor = Module () (Just $ ModuleHead () (ModuleName () "MXNet.Base.Operators.Tensor") Nothing Nothing) []+                [ simpleImport "RIO"+                , simpleImport "RIO.List"+                , simpleImport "MXNet.Base.Raw"                 , simpleImport "MXNet.Base.Spec.Operator"                 , simpleImport "MXNet.Base.Spec.HMap"+                , simpleImport "MXNet.Base.Tensor"                 , simpleImportVars "Data.Maybe" ["catMaybes", "fromMaybe"]]+    modDataIter = Module () (Just $ ModuleHead () (ModuleName () "MXNet.Base.DataIter") Nothing Nothing) []+                  [ simpleImport "RIO"+                  , simpleImport "RIO.List"+                  , simpleImportVars "RIO.List.Partial" ["(!!)"]+                  , simpleImport "MXNet.Base.Raw"+                  , simpleImport "MXNet.Base.Spec.Operator"+                  , simpleImport "MXNet.Base.Spec.HMap"+                  , simpleImportVars "Data.Maybe" ["catMaybes", "fromMaybe"]] +getOpName :: AtomicSymbolCreator -> IO String+getOpName = fmap T.unpack . mxSymbolGetAtomicSymbolName++tensorVar = tyVarIdent "t"+tensorVar2 = tyVarIdent "o"+ makeParamInst :: String -> [ResolvedType] -> Bool -> Decl () makeParamInst symname typs symbolapi =-    TypeInsDecl () (tyApp (tyCon $ unQual $ name "ParameterList") (tyPromotedStr symname_with_appendix))+    TypeInsDecl () (tyApp (tyApp (tyCon $ unQual $ name "ParameterList") (tyPromotedStr symname)) tensorVar)                    (tyPromotedList paramList)   where-    symname_with_appendix = symname ++ (if symbolapi then "(symbol)" else "(ndarray)")     paramList = map (\(name, typ1, typ2) -> tyPromotedTuple [tyPromotedStr name, tyApp typ1 typ2]) typs -data GenFlag = GenSymbolOp | GenNDArrayReturn | GenNDArrayUpdate+data GenFlag = GenSymbolOp+    | GenNDArrayReturn+    | GenNDArrayUpdate -makeSignature :: String -> GenFlag -> [Asst ()]-> Decl ()-makeSignature symname flag extra_constraints =-    let (funname, appendix, rettype, maketype) =-            case flag of-              GenSymbolOp      -> (symname, "(symbol)", tyCon $ unQual $ name "SymbolHandle", tyFun (tyCon $ unQual $ name "String"))-              GenNDArrayReturn -> (symname, "(ndarray)", tyList $ tyCon $ unQual $ name "NDArrayHandle", id)-              GenNDArrayUpdate -> (symname ++ "_upd", "(ndarray)", unit_tycon (), tyFun (tyList $ tyCon $ unQual $ name "NDArrayHandle"))-        symname_with_appendix = symname ++ appendix-        cxfullfill = appA (name "Fullfilled") [tyPromotedStr symname_with_appendix, tyVarIdent "args"]-        cx_all = if null extra_constraints then cxSingle cxfullfill else cxTuple (cxfullfill : extra_constraints)-        fun = tyFun (tyApp (tyApp (tyCon $ unQual $ name "ArgsHMap") (tyPromotedStr symname_with_appendix)) (tyVarIdent "args"))-                    (tyApp (tyCon $ unQual $ name "IO") rettype)-    in tySig [name funname] $ tyForall [unkindedVar (name "args")] cx_all $ (maketype fun)+makeSignature :: String -> Type () -> Type () -> [Asst ()] -> Decl ()+makeSignature symname ti to extra_constraints =+    let cxfullfill = appA (name "Fullfilled") [tyPromotedStr symname, ti, tyVarIdent "a"]+        cxtensor   = appA (name "TensorOp") [ti, to]+        callstack  = appA (name "HasCallStack") []+        cx_all = cxTuple (cxtensor : cxfullfill : callstack : extra_constraints)+        fun = tyFun (let hmap = tyCon $ unQual $ name "ArgsHMap"+                     in hmap `tyApp` tyPromotedStr symname+                             `tyApp` ti+                             `tyApp` tyVarIdent "a")+                    ((tyCon $ unQual $ name "TensorApply") `tyApp ` to)+        vars = map (unkindedVar . name) $ "a" : "t" : if ti == to then [] else ["o"]+    in tySig [name symname] $ tyForall vars cx_all fun -genSymOp :: AtomicSymbolCreator -> IO [Decl ()]-genSymOp sc = do-    (symname, desc, argname, argtype, argdesc, key_var_num_args, rettyp) <- mxSymbolGetAtomicSymbolInfo sc+genTensorOp :: AtomicSymbolCreator -> IO [Decl ()]+genTensorOp sc = do+    (symname_t, _, argname_t, argtype_t, _, key_var_num_args_t, rettyp) <- mxSymbolGetAtomicSymbolInfo sc+    let symname = T.unpack symname_t+        argname = map T.unpack argname_t+        argtype = map T.unpack argtype_t+        key_var_num_args = T.unpack key_var_num_args_t+     if symname `elem` ["_Native", "_NDArray"] then         return []     else do         let symname_ = normalizeName symname-            (errs, scalarTypes, tensorTypes, arrayTypes) = execWriter $ zipWithM_ (resolveHaskellType True) argname argtype+            out_new = symname `elem` ["Cast"]+            out_var = if out_new then tensorVar2 else tensorVar+            (errs, scalarTypes, tensorKeyTypes, tensorVarTypes) = execWriter $ zipWithM_ (resolveHaskellType ResolveTensor) argname argtype          if not (null errs) then do             forM errs $ \(name, msg) ->                 errorM _module_ (printf "Function: %s %s" symname msg)             return []-        else if (length arrayTypes >= 2) then do-            errorM _module_ (printf "Function: %s has more than one Symbol[] argument." symname)+        else if (length tensorVarTypes >= 2) then do+            errorM _module_ (printf "Function: %s has more than one NDArray/Symbol[] argument." symname)             return []-        else if (not (null tensorTypes) && not (null arrayTypes)) then do-            errorM _module_ (printf "Function: %s is varadic, but it also has Symbol argument." symname)+        else if (not (null tensorKeyTypes) && not (null tensorVarTypes)) then do+            errorM _module_ (printf "Function: %s has both NDArray/Symbol and NDArray/Symbol[] arguments." symname)             return []         else do-            let paramListInst = makeParamInst symname_ (scalarTypes ++ tensorTypes ++ arrayTypes) True-                sig = makeSignature symname_ GenSymbolOp $ +            let paramListInst = makeParamInst symname_ (scalarTypes ++ tensorKeyTypes ++ tensorVarTypes) True+                sig = makeSignature symname_ tensorVar out_var $                         -- the "Custom" is a little special, because it allow extra arguments-                        if symname == "Custom" +                        if symname == "Custom"                             --    PopKey (ArgOf "_Custom(symbol)") args "data",                             --    Dump (PopResult (ArgOf "_Custom(symbol)") args "data"))-                            then let argOfCustom = tyParen $ tyApp (tyCon $ unQual $ name "ArgOf") (tyPromotedStr "_Custom(symbol)")-                                 in [appA (name "PopKey") [argOfCustom, tyVarIdent "args", tyPromotedStr "data"],+                            then let argOfCustom = tyParen $ (tyCon $ unQual $ name "ArgOf") `tyApp`+                                                             (tyPromotedStr "_Custom") `tyApp`+                                                             tensorVar+                                 in [appA (name "PopKey") [argOfCustom, tyVarIdent "a", tyPromotedStr "data"],                                      appA (name "Dump") [ tyParen $-                                        (tyCon $ unQual $ name "PopResult") `tyApp` -                                        argOfCustom `tyApp` -                                        tyVarIdent "args" `tyApp` +                                        (tyCon $ unQual $ name "PopResult") `tyApp`+                                        argOfCustom `tyApp`+                                        tyVarIdent "a" `tyApp`                                         tyPromotedStr "data"]]                             else []-            let fun = sfun (name symname_) [name "name", name "args"] (UnGuardedRhs () body) Nothing-                make_scalar_values = -                    if symname == "Custom" +            let fun = sfun (name symname_) [name "args"] (UnGuardedRhs () body) Nothing+                make_scalar_values =+                    if symname == "Custom"                         -- dump (pop args #data)                         then function "dump" `app` (-                                function "pop" `app` (var $ name "args") `app` (OverloadedLabel () "data"))+                                function "pop" `app`+                                (var $ name "args") `app`+                                OverloadedLabel () "data")                         -- catMaybes                         --    [("KEY",) . showValue <$> (args !? #KEY :: Maybe VALUE_TYPE),                         --     ... ]-                        else function "catMaybes" `app` listE -                                [ infixApp (infixApp (tupleSection [Just $ strE argkey, Nothing]) -                                                     (op $ sym ".") +                        else function "catMaybes" `app` listE+                                ([ infixApp (infixApp (tupleSection [Just $ strE argkey, Nothing])+                                                     (op $ sym ".")                                                      (function "showValue"))                                            (op $ sym "<$>") $-                                           ExpTypeSig () (infixApp (var $ name "args") -                                                                   (op $ sym "!?") -                                                                   (OverloadedLabel () argkey)) -                                                      (tyApp (tyCon $ unQual $ name "Maybe") typ) -                                | (argkey, _, typ) <- scalarTypes]+                                               ExpTypeSig () (infixApp (var $ name "args")+                                                                   (op $ sym "!?")+                                                                   (OverloadedLabel () argkey))+                                                      (tyApp (tyCon $ unQual $ name "Maybe") typ)+                                 | (argkey, _, typ) <- scalarTypes] +++                                 if null key_var_num_args || null tensorVarTypes || key_var_num_args `elem` [k | (k,_,_) <- scalarTypes]+                                 then []+                                 else [(con $ unQual $ name "Just") `app` tuple [+                                    strE key_var_num_args,+                                    function "showValue" `app` (function "length" `app` (var $ name "tensorVarArgs"))]])                 body =  letE ([                           patBind (pvar $ name "scalarArgs") make_scalar_values-                        , patBind (pTuple [pvar $ name "scalarkeys", pvar $ name "scalarvals"]) (app (function "unzip") $ var $ name "scalarArgs")-                        , patBind (pvar $ name "tensorArgs") (function "catMaybes"+                        , patBind (pvar $ name "tensorKeyArgs") (function "catMaybes"                             `app` listE [                                 infixApp (tupleSection [Just $ strE argkey, Nothing]) (op $ sym "<$>") $-                                ExpTypeSig () (infixApp (var $ name "args") (op $ sym "!?") (OverloadedLabel () argkey)) (tyApp (tyCon $ unQual $ name "Maybe") typ) | (argkey, _, typ) <- tensorTypes])-                        , patBind (pTuple [pvar $ name "tensorkeys", pvar $ name "tensorvals"]) (app (function "unzip") $ var $ name "tensorArgs")]-                        ++-                        case arrayTypes of-                          [(argkey,_,_)] -> [patBind (pvar $ name "array") $ function "fromMaybe"-                                                `app` eList-                                                `app` ExpTypeSig ()-                                                        (infixApp (var $ name "args") (op $ sym "!?") (OverloadedLabel () argkey))-                                                        (tyApp (tyCon $ unQual $ name "Maybe") (tyList $ tyCon $ unQual $ name "SymbolHandle"))]+                                ExpTypeSig ()+                                    (infixApp (var $ name "args") (op $ sym "!?") (OverloadedLabel () argkey))+                                    (tyApp (tyCon $ unQual $ name "Maybe") typ) | (argkey, _, typ) <- tensorKeyTypes])+                        ] +++                        case tensorVarTypes of+                          [(argkey,_,_)] ->+                              [patBind (pvar $ name "tensorVarArgs") $ function "fromMaybe"+                                `app` eList+                                `app` ExpTypeSig ()+                                    (infixApp (var $ name "args") (op $ sym "!?") (OverloadedLabel () argkey))+                                    (tyApp (tyCon $ unQual $ name "Maybe") (tyList tensorVar))]                           _ -> [])-                        (doE $-                            [ genStmt (pvar $ name "op") $ function "nnGetOpHandle"`app` strE symname ] ++-                            ( if null arrayTypes then-                                  [ genStmt (pvar $ name "sym") $ function "mxSymbolCreateAtomicSymbol"-                                      `app` (function "fromOpHandle" `app` (var $ name "op"))-                                      `app` (var $ name "scalarkeys")-                                      `app` (var $ name "scalarvals")-                                  , qualStmt $ function "mxSymbolCompose"-                                      `app` (var $ name "sym")-                                      `app` (var $ name "name")-                                      `app` ((con $ unQual $ name "Just") `app` (var $ name "tensorkeys"))-                                      `app` (var $ name "tensorvals") ]-                              else if null key_var_num_args then-                                  -- the size of array are determined pragmatically (e.g. Custom)-                                  [ genStmt (pvar $ name "sym") $ function "mxSymbolCreateAtomicSymbol"-                                      `app` (function "fromOpHandle" `app` (var $ name "op"))-                                      `app` (var $ name "scalarkeys")-                                      `app` (var $ name "scalarvals")-                                  , qualStmt $ function "mxSymbolCompose"-                                      `app` (var $ name "sym")-                                      `app` (var $ name "name")-                                      `app` (con $ unQual $ name "Nothing")-                                      `app` (var $ name "array") ]-                              else-                                  -- the size of array should be provided in the arg named `key_var_num_args`-                                  -- but it is sometimes optional when calling the symbol. If it is not given-                                  -- explicitly, calculate its length.-                                  [ genStmt (pvar $ name "sym") $-                                      If () (function "hasKey" `app` (var $ name "args") `app` (OverloadedLabel () key_var_num_args))-                                          (function "mxSymbolCreateAtomicSymbol"-                                              `app` (function "fromOpHandle" `app` (var $ name "op"))-                                              `app` (var $ name "scalarkeys")-                                              `app` (var $ name "scalarvals"))-                                          (function "mxSymbolCreateAtomicSymbol"-                                              `app` (function "fromOpHandle" `app` (var $ name "op"))-                                              `app` (infixApp (strE key_var_num_args) (QConOp () $ Special () $ Cons ()) (var $ name "scalarkeys"))-                                              `app` (infixApp (function "showValue" `app` (function "length" `app` (var $ name "array")))  (QConOp () $ Special () $ Cons ()) (var $ name "scalarvals")))-                                  , qualStmt $ function "mxSymbolCompose"-                                      `app` (var $ name "sym")-                                      `app` (var $ name "name")-                                      `app` (con $ unQual $ name "Nothing")-                                      `app` (var $ name "array")] ) ++-                            [ qualStmt $ function "return" `app` (var $ name "sym") ])+                        (function "apply"+                            `app` (strE symname)+                            `app` (var $ name "scalarArgs")+                            `app` (if null tensorVarTypes+                                      then function "Left" `app` (expTypeSig+                                            (var $ name "tensorKeyArgs")+                                            (tyList $ tyTuple [tyCon $ unQual $ name "Text", tensorVar]))+                                      else function "Right" `app` (var $ name "tensorVarArgs")))             return [paramListInst, sig, fun] -genArrOp :: AtomicSymbolCreator -> IO [Decl ()]-genArrOp sc = do-    (symname, desc, argname0, argtype0, argdesc, key_var_num_args, rettyp) <- mxSymbolGetAtomicSymbolInfo sc+genDataIter :: (DataIterCreator, Integer) -> IO [Decl ()]+genDataIter (dataitercreator, index) = do+    (diname_t, _, argnames_t, argtypes_t, _) <- mxDataIterGetIterInfo dataitercreator+    let diname = normalizeName $ T.unpack diname_t+        argnames = map T.unpack argnames_t+        argtypes = map T.unpack argtypes_t -    -- some ops (names like *_mkl_*) are malformed. They declare zero args, but actually has the "data" and "num_args"-    let (argname, argtype) = if not (null key_var_num_args) && null argname0 then-                                (["data","num_args"], ["NDArray-or-Symbol[]","int, required"])-                             else-                                (argname0, argtype0)+        (errs, scalarTypes, _, _) = execWriter $ zipWithM_ (resolveHaskellType ResolveDataIter) argnames argtypes -    if symname `elem` ["_Native", "_NDArray", "Custom"] then-        return []-    else do-        let symname_ = normalizeName symname-            (errs, scalarTypes, tensorTypes, arrayTypes) = execWriter $ zipWithM_ (resolveHaskellType False) argname argtype+        -- parameter list+        paramList = map (\(name, typ1, typ2) -> tyPromotedTuple [tyPromotedStr name, tyApp typ1 typ2]) scalarTypes+        paramInst = TypeInsDecl ()+                        (tyApp (tyApp (tyCon $ unQual $ name "ParameterList") (tyPromotedStr diname)) (tyVarIdent "dummy"))+                        (tyPromotedList paramList) -        if not (null errs) then do-            forM errs $ \(name, msg) ->-                errorM _module_ (printf "Function: %s %s" symname msg)-            return []-        else if (length arrayTypes >= 2) then do-            errorM _module_ (printf "Function: %s has more than Symbol[] argument." symname)-            return []-        else if (not (null tensorTypes) && not (null arrayTypes)) then do-            errorM _module_ (printf "Function: %s is varadic, but it also has Symbol argument." symname)-            return []-        else do-            let paramListInst = makeParamInst symname_ (scalarTypes ++ tensorTypes ++ arrayTypes) False-                sig1 = makeSignature symname_ GenNDArrayReturn []-                sig2 = makeSignature symname_ GenNDArrayUpdate []-            let fun1 = sfun (name symname_) [name "args"]-                        (UnGuardedRhs () (body (lastArgOfInvoke GenNDArrayReturn) True)) Nothing-                fun2 = sfun (name $ symname_ ++ "_upd") [name "outputs", name "args"]-                        (UnGuardedRhs () (body (lastArgOfInvoke GenNDArrayUpdate) False)) Nothing-                lastArgOfInvoke GenNDArrayReturn = con $ unQual $ name "Nothing"-                lastArgOfInvoke GenNDArrayUpdate = (con $ unQual $ name "Just") `app` (var $ name "outputs")-                body lastarg retval =-                    letE ([-                          patBind (pvar $ name "scalarArgs") (function "catMaybes"-                            `app` listE [-                                infixApp (infixApp (tupleSection [Just $ strE argkey, Nothing]) (op $ sym ".") (function "showValue")) (op $ sym "<$>") $-                                ExpTypeSig () (infixApp (var $ name "args") (op $ sym "!?") (OverloadedLabel () argkey)) (tyApp (tyCon $ unQual $ name "Maybe") typ) | (argkey, _, typ) <- scalarTypes])-                        -- , patBind (pTuple [pvar $ name "scalarkeys", pvar $ name "scalarvals"]) (app (function "unzip") $ var $ name "scalarArgs")-                        , patBind (pvar $ name "tensorArgs") (function "catMaybes"-                            `app` listE [-                                infixApp (tupleSection [Just $ strE argkey, Nothing]) (op $ sym "<$>") $-                                ExpTypeSig () (infixApp (var $ name "args") (op $ sym "!?") (OverloadedLabel () argkey)) (tyApp (tyCon $ unQual $ name "Maybe") typ) | (argkey, _, typ) <- tensorTypes])-                        , patBind (pTuple [pvar $ name "tensorkeys", pvar $ name "tensorvals"]) (app (function "unzip") $ var $ name "tensorArgs")]-                        ++-                        case arrayTypes of-                          [(argkey,_,_)] -> [patBind (pvar $ name "array") $ function "fromMaybe"-                                                `app` eList-                                                `app` ExpTypeSig ()-                                                        (infixApp (var $ name "args") (op $ sym "!?") (OverloadedLabel () argkey))-                                                        (tyApp (tyCon $ unQual $ name "Maybe") (tyList $ tyCon $ unQual $ name "NDArrayHandle"))]-                          _ -> [])-                        (doE $-                            [ genStmt (pvar $ name "op") $ function "nnGetOpHandle"`app` strE symname ] ++-                            ( if null key_var_num_args then-                                  [ genStmt (pvar $ name "listndarr") $ function "mxImperativeInvoke"-                                      `app` (function "fromOpHandle" `app` (var $ name "op"))-                                      `app` (var $ name "tensorvals")-                                      `app` (var $ name $ "scalarArgs")-                                      `app` lastarg-                                  ]-                              else-                                  [ letStmt [-                                        patBind (pvar $ name "scalarArgs'") (-                                            If () (function "hasKey" `app` (var $ name "args") `app` (OverloadedLabel () key_var_num_args))-                                                (var $ name $ "scalarArgs")-                                                (let key_var = Con () (Special () (TupleCon () Boxed 2))-                                                                `app` (strE key_var_num_args)-                                                                `app` (function "showValue" `app` (function "length" `app` (var $ name "array")))-                                                in infixApp key_var (QConOp () $ Special () $ Cons ()) (var $ name $ "scalarArgs"))-                                        )]-                                  , genStmt (pvar $ name "listndarr") $ function "mxImperativeInvoke"-                                                  `app` (function "fromOpHandle" `app` (var $ name "op"))-                                                  `app` (var $ name "array")-                                                  `app` (var $ name $ "scalarArgs'")-                                                  `app` lastarg-                                  ]) ++-                            [ qualStmt $ function "return" `app` (if retval then var $ name "listndarr" else unit_con ()) ])-            return [paramListInst, sig1, fun1, sig2, fun2]+        -- signature+        void = tyTuple []+        cxfullfill = appA (name "Fullfilled") [tyPromotedStr diname, void, tyVarIdent "a"]+        tyfun = tyFun+                    (let hmap = tyCon $ unQual $ name "ArgsHMap"+                     in hmap `tyApp` tyPromotedStr diname `tyApp` void `tyApp` tyVarIdent "a")+                    (tyApp (tyCon $ unQual $ name "IO") (tyCon $ unQual $ name "DataIterHandle"))+        tysig = tySig [name diname] $ tyForall [unkindedVar (name "a")] (cxSingle cxfullfill) tyfun +        -- function+        fun = sfun (name diname) [name "args"] (UnGuardedRhs () body) Nothing+        body = letE ([+                patBind (pvar $ name "allargs") (function "catMaybes"+                    `app` listE [+                        infixApp (infixApp (tupleSection [Just $ strE argkey, Nothing]) (op $ sym ".") (function "showValue")) (op $ sym "<$>") $+                            ExpTypeSig () (infixApp (var $ name "args") (op $ sym "!?") (OverloadedLabel () argkey)) (tyApp (tyCon $ unQual $ name "Maybe") typ) | (argkey, _, typ) <- scalarTypes])+              , patBind (pTuple [pvar $ name "keys", pvar $ name "vals"]) (app (function "unzip") $ var $ name "allargs")+              ]) (doE $ [+                  genStmt (pvar $ name "dis") $ function "mxListDataIters",+                  genStmt (pvar $ name "di") $ function "return" `app` (infixApp (var $ name "dis") (op $ sym "!!") (intE index)),+                  qualStmt $ function "mxDataIterCreateIter" `app` (var $ name "di") `app` (var $ name "keys") `app` (var $ name "vals")+              ])++    if not (null errs) then do+       forM errs $ \(name, msg) ->+           errorM _module_ (printf "Function: %s %s" diname msg)+       return []+    else+       return [paramInst, tysig, fun]+ normalizeName :: String -> String-normalizeName name@(c:cs)-    | isUpper c = '_' : name-    | name == "where" = "_where"-    | otherwise = name+normalizeName name = '_': name -data ParamDesc = ParamDescItem String | ParamDescList Bool [String] deriving (Eq, Show)+uncapitalize :: String -> String+uncapitalize []     = []+uncapitalize (x:xs) = toLower x: xs +data ParamDesc = ParamDescItem String+    | ParamDescList Bool [String]+    deriving (Eq, Show)+data ResolveMode = ResolveTensor+    | ResolveDataIter+    deriving Eq+ type ResolvedType = (String, Type (), Type ())-resolveHaskellType :: Bool -> String -> String -> Writer ([(String, String)], [ResolvedType], [ResolvedType], [ResolvedType]) ()-resolveHaskellType asSymbol symname desc = do+resolveHaskellType :: ResolveMode -> String -> String -> Writer ([(String, String)], [ResolvedType], [ResolvedType], [ResolvedType]) ()+resolveHaskellType mode symname desc = do     let fail   msg   = tell ([(symname, msg)], [], [], [])     case readP_to_S typedesc desc of         [(fields, "")] -> do             let required = ParamDescItem "required" `elem` fields                 attr = tyCon $ unQual $ name $ if required then "AttrReq" else "AttrOpt"-                scalar hstyp = tell ([], [(symname_, attr, hstyp)], [], [])-                symbol hstyp = tell ([], [], [(symname_, attr, hstyp)], [])-                array  hstyp = tell ([], [], [], [(symname_, attr, hstyp)])-                symname_ = normalizeName symname-                ---                -- symbol operators-                ---                -- operator can have only one argument of the type symbol or ndarray array-                -- and not having any other argument of symbol or ndarray-                -- besides the operator's info must definitely have a key_var_num_args, which-                -- indicates an (might be additional) argument which should be passed to mxSymbolCreateAtomicSymbol.-                handleSymbol (ParamDescItem "Symbol")              = symbol $ tyCon $ unQual $ name "SymbolHandle"-                handleSymbol (ParamDescItem "NDArray-or-Symbol")   = symbol $ tyCon $ unQual $ name "SymbolHandle"-                handleSymbol (ParamDescItem "Symbol[]")            = array $ tyList $ tyCon $ unQual $ name "SymbolHandle"-                handleSymbol (ParamDescItem "NDArray-or-Symbol[]") = array $ tyList $ tyCon $ unQual $ name "SymbolHandle"-                handleSymbol (ParamDescItem "Symbol or Symbol[]")  = array $ tyList $ tyCon $ unQual $ name "SymbolHandle"-                handleSymbol (ParamDescItem "NDArray")             = fail $ printf "NDArrayHandle arg: %s" symname-                handleSymbol t = fallThrough t+                scalar hstyp      = tell ([], [(symname_, attr, hstyp)], [], [])+                tensor_karg hstyp = tell ([], [], [(symname_, attr, hstyp)], [])+                tensor_varg hstyp = tell ([], [], [], [(symname_, attr, hstyp)])+                symname_ = uncapitalize symname                 ---                -- ndarray operators+                -- tensor operators                 ---                handleNDArray (ParamDescItem "NDArray-or-Symbol")   = symbol $ tyCon $ unQual $ name "NDArrayHandle"-                handleNDArray (ParamDescItem "NDArray-or-Symbol[]") = array $ tyList $ tyCon $ unQual $ name "NDArrayHandle"-                handleNDArray (ParamDescItem "Symbol or Symbol[]")  = array $ tyList $ tyCon $ unQual $ name "NDArrayHandle"-                handleNDArray (ParamDescItem "NDArray")             = symbol $ tyCon $ unQual $ name "NDArrayHandle"-                handleNDArray (ParamDescItem "Symbol")              = fail $ printf "SymbolHandle arg: %s" symname-                handleNDArray (ParamDescItem "Symbol[]")            = fail $ printf "SymbolHandle[] arg: %s" symname-                handleNDArray t = fallThrough t+                handleTensor (ParamDescItem "NDArray")             = tensor_karg $ tensorVar+                handleTensor (ParamDescItem "NDArray-or-Symbol")   = tensor_karg $ tensorVar+                handleTensor (ParamDescItem "NDArray-or-Symbol[]") = tensor_varg $ tyList $ tensorVar+                handleTensor (ParamDescItem "Symbol")              = tensor_karg $ tensorVar+                handleTensor (ParamDescItem "Symbol[]")            = tensor_varg $ tyList $ tensorVar+                handleTensor (ParamDescItem "Symbol or Symbol[]")  = tensor_varg $ tyList $ tensorVar+                handleTensor t = fallThrough t                  fallThrough t = fail $ printf "Unknown type: arg %s(%s)." symname desc @@ -334,7 +292,7 @@                 ParamDescItem "float32"             -> scalar $ tyCon $ unQual $ name "Float"                 -- real_t (from mshadow) is by default float.                 ParamDescItem "real_t"              -> scalar $ tyCon $ unQual $ name "Float"-                ParamDescItem "string"              -> scalar $ tyCon $ unQual $ name "String"+                ParamDescItem "string"              -> scalar $ tyCon $ unQual $ name "Text"                 ParamDescItem "int or None"         -> scalar $ tyApp (tyCon $ unQual $ name "Maybe") (tyCon $ unQual $ name "Int")                 ParamDescItem "float or None"       -> scalar $ tyApp (tyCon $ unQual $ name "Maybe") (tyCon $ unQual $ name "Float")                 ParamDescItem "double or None"      -> scalar $ tyApp (tyCon $ unQual $ name "Maybe") (tyCon $ unQual $ name "Double")@@ -347,8 +305,9 @@                         typ1 = tyApp (tyCon $ unQual $ name "EnumType") (tyPromotedList vsprom)                         typ2 = tyApp (tyCon $ unQual $ name "Maybe") typ1                     scalar $ if hasnone then typ2 else typ1-                t -> (if asSymbol then handleSymbol else handleNDArray) t-        other -> fail (printf "cannot parse type description: %s" desc)+                t | mode == ResolveTensor -> handleTensor t+                  | mode == ResolveDataIter -> fallThrough t+        other -> fail (printf "cannot parse type description: %s. Result: %s" desc (show other))  typedesc = do     -- since 1.3, there are types starting with ',', and it implies 'int' type.@@ -357,10 +316,12 @@     eof     return $ def ++ ds   where-    list1 = ParamDescList True  <$> between (string "{None,") (char '}') (sepBy (skipSpaces >> listItem) (char ','))-    list2 = ParamDescList False <$> between (string "{") (char '}') (sepBy (skipSpaces >> listItem) (char ','))-    listItem = between (char '\'') (char '\'') (munch1 (\c -> isAlphaNum c || c `elem` "_"))-    item = ParamDescItem <$> munch1 (\c -> isAlphaNum c || c `elem` " _-()=[]<>'.")+    list1 = ParamDescList True  <$> between (string "{None,") (char '}') (sepBy (skipSpaces >> strItem) (char ','))+    list2 = ParamDescList False <$> between (string "{") (char '}') (sepBy (skipSpaces >> strItem) (char ','))+    strItem = between (char '\'') (char '\'') (munch1 (\c -> isAlphaNum c || oneOf c "_-+-./"))+    item = ParamDescItem <$> munch1 (\c -> isAlphaNum c || oneOf c " _-+()=[]<>./'")+    oneOf :: Eq a => a -> [a] -> Bool+    oneOf c wl = c `elem` wl  unQual = UnQual () unkindedVar = UnkindedVar ()@@ -372,6 +333,7 @@ tyFun = TyFun () tySig names types = TypeSig () names types tyList = TyList ()+tyTuple = TyTuple () Boxed tyVar = TyVar () tyParen = TyParen () @@ -393,6 +355,8 @@ tupleSection = TupleSection () Boxed  con = Con ()++expTypeSig = ExpTypeSig ()  simpleImport mod = ImportDecl {     importAnn = (),
fei-base.cabal view
@@ -1,6 +1,6 @@-cabal-version:       2.2+cabal-version:       2.4 name:                fei-base-version:             0.2.0.0+version:             1.0.0 synopsis:            FFI to MXNet description:         This package provides a FFI wrap of MXNet, including c-apis and symbol/array/executor operations. homepage:@@ -13,48 +13,36 @@ build-type:          Simple extra-source-files:  README.md -Flag MXNet_1_5 {-  Description: With MXNet 1.5.x operators-  Default: True-}--Flag MXNet_1_4 {-  Description: With MXNet 1.4.x operators-  Default: False-}--Flag MXNet_1_3 {-  Description: With MXNet 1.3.x operators+Flag mxnet_geq_10600 {+  Description: With MXNet 1.6.x operators   Default: False } -Flag MXNet_1_0 {-  Description: With MXNet 1.0.x operators-  Default: False+Flag dummy {+  Description: no operators+  Default: True }  library   hs-source-dirs:      c-apis-  if flag(MXNet_1_0) {-      hs-source-dirs:  ops/1.0-  }-  elif flag(MXNet_1_3) {-      hs-source-dirs:  ops/1.3-  }-  elif flag(MXNet_1_4) {-      hs-source-dirs:  ops/1.4+  if flag(mxnet_geq_10600) {+      hs-source-dirs:  ops/1.6   }-  elif flag(MXNet_1_5) {-      hs-source-dirs:  ops/1.5+  elif flag(dummy) {+      hs-source-dirs:  ops/dummy   }   build-depends:       base >= 4.7 && < 5,-                       c2hs-extra == 0.1.0.1,-                       tuple-ops == 0.0.0.3,-                       vector >= 0.11 && < 0.13,+                       tuple-ops == 0.0.0.4,+                       deepseq,                        constraints,-                       repa+                       lens,+                       repa,+                       vector,+                       attoparsec,+                       rio,+                       store   default-language:    Haskell2010-  Build-tools:         c2hs+  build-tool-depends:  c2hs:c2hs   default-extensions:  FlexibleContexts,                        GADTs,                        StandaloneDeriving,@@ -64,19 +52,25 @@                        DataKinds,                        TypeFamilies,                        OverloadedLabels,-                       TupleSections+                       OverloadedStrings,+                       LambdaCase,+                       MultiWayIf,+                       DoAndIfThenElse,+                       NoImplicitPrelude,+                       TupleSections,+                       ScopedTypeVariables   exposed-modules:     MXNet.Base,                        MXNet.Base.Raw,                        MXNet.Base.Types,+                       MXNet.Base.ParserUtils,                        MXNet.Base.Symbol,                        MXNet.Base.NDArray,+                       MXNet.Base.Tensor,                        MXNet.Base.Executor,                        MXNet.Base.Spec.Operator,                        MXNet.Base.Spec.HMap-  if flag(MXNet_1_0) || flag(MXNet_1_3) || flag(MXNet_1_4) || flag(MXnet_1_5) {-    exposed-modules:   MXNet.Base.Operators.Symbol,-                       MXNet.Base.Operators.NDArray-  }+                       MXNet.Base.Operators.Tensor,+                       MXNet.Base.DataIter   other-modules:       MXNet.Base.Raw.Common,                        MXNet.Base.Raw.NDArray,                        MXNet.Base.Raw.Symbol,@@ -86,18 +80,30 @@  executable mxnet-op-gen   hs-source-dirs:      cmdline+  hs-source-dirs:      c-apis   main-is:             Main.hs+  other-modules:       MXNet.Base.Raw.Common,+                       MXNet.Base.Raw.NDArray,+                       MXNet.Base.Raw.Symbol,+                       MXNet.Base.Raw.Executor,+                       MXNet.Base.Raw.DataIter   build-depends:       base >= 4.7 && < 5,                        optparse-applicative >= 0.14 && < 0.15,                        haskell-src-exts >= 1.20,                        hslogger >= 1.2,-                       text >= 1.2.0 && < 1.3,-                       mtl,-                       filepath >= 1.4 && < 1.5,-                       directory >= 1.3 && < 1.4,-                       fei-base+                       tuple-ops == 0.0.0.4,+                       deepseq,+                       lens,+                       rio   default-language:    Haskell2010-  default-extensions:  FlexibleContexts+  build-tool-depends:  c2hs:c2hs+  default-extensions:  FlexibleContexts,+                       StandaloneDeriving,+                       DeriveGeneric,+                       GeneralizedNewtypeDeriving,+                       GADTs,+                       OverloadedStrings,+                       MultiWayIf   extra-libraries:     mxnet  source-repository head
− ops/1.0/MXNet/Base/Operators/NDArray.hs
@@ -1,16434 +0,0 @@-module MXNet.Base.Operators.NDArray where-import MXNet.Base.Raw-import MXNet.Base.Spec.Operator-import MXNet.Base.Spec.HMap-import Data.Maybe (catMaybes, fromMaybe)--type instance ParameterList "broadcast_power(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_power ::-                forall args . Fullfilled "broadcast_power(ndarray)" args =>-                  ArgsHMap "broadcast_power(ndarray)" args -> IO [NDArrayHandle]-broadcast_power args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_power_upd ::-                    forall args . Fullfilled "broadcast_power(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "broadcast_power(ndarray)" args -> IO ()-broadcast_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_power(ndarray)" =-     '[]--_backward_broadcast_power ::-                          forall args .-                            Fullfilled "_backward_broadcast_power(ndarray)" args =>-                            ArgsHMap "_backward_broadcast_power(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_broadcast_power args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_power_upd ::-                              forall args .-                                Fullfilled "_backward_broadcast_power(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_broadcast_power(ndarray)" args -> IO ()-_backward_broadcast_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_maximum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_maximum ::-                  forall args . Fullfilled "broadcast_maximum(ndarray)" args =>-                    ArgsHMap "broadcast_maximum(ndarray)" args -> IO [NDArrayHandle]-broadcast_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_maximum_upd ::-                      forall args . Fullfilled "broadcast_maximum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "broadcast_maximum(ndarray)" args -> IO ()-broadcast_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_maximum(ndarray)"-     = '[]--_backward_broadcast_maximum ::-                            forall args .-                              Fullfilled "_backward_broadcast_maximum(ndarray)" args =>-                              ArgsHMap "_backward_broadcast_maximum(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_broadcast_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_maximum_upd ::-                                forall args .-                                  Fullfilled "_backward_broadcast_maximum(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_broadcast_maximum(ndarray)" args -> IO ()-_backward_broadcast_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_minimum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_minimum ::-                  forall args . Fullfilled "broadcast_minimum(ndarray)" args =>-                    ArgsHMap "broadcast_minimum(ndarray)" args -> IO [NDArrayHandle]-broadcast_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_minimum_upd ::-                      forall args . Fullfilled "broadcast_minimum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "broadcast_minimum(ndarray)" args -> IO ()-broadcast_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_minimum(ndarray)"-     = '[]--_backward_broadcast_minimum ::-                            forall args .-                              Fullfilled "_backward_broadcast_minimum(ndarray)" args =>-                              ArgsHMap "_backward_broadcast_minimum(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_broadcast_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_minimum_upd ::-                                forall args .-                                  Fullfilled "_backward_broadcast_minimum(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_broadcast_minimum(ndarray)" args -> IO ()-_backward_broadcast_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_hypot(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_hypot ::-                forall args . Fullfilled "broadcast_hypot(ndarray)" args =>-                  ArgsHMap "broadcast_hypot(ndarray)" args -> IO [NDArrayHandle]-broadcast_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_hypot_upd ::-                    forall args . Fullfilled "broadcast_hypot(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "broadcast_hypot(ndarray)" args -> IO ()-broadcast_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_hypot(ndarray)" =-     '[]--_backward_broadcast_hypot ::-                          forall args .-                            Fullfilled "_backward_broadcast_hypot(ndarray)" args =>-                            ArgsHMap "_backward_broadcast_hypot(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_broadcast_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_hypot_upd ::-                              forall args .-                                Fullfilled "_backward_broadcast_hypot(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_broadcast_hypot(ndarray)" args -> IO ()-_backward_broadcast_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_equal ::-       forall args . Fullfilled "_equal(ndarray)" args =>-         ArgsHMap "_equal(ndarray)" args -> IO [NDArrayHandle]-_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_equal_upd ::-           forall args . Fullfilled "_equal(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_equal(ndarray)" args -> IO ()-_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_not_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_not_equal ::-           forall args . Fullfilled "_not_equal(ndarray)" args =>-             ArgsHMap "_not_equal(ndarray)" args -> IO [NDArrayHandle]-_not_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_not_equal_upd ::-               forall args . Fullfilled "_not_equal(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_not_equal(ndarray)" args -> IO ()-_not_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_greater ::-         forall args . Fullfilled "_greater(ndarray)" args =>-           ArgsHMap "_greater(ndarray)" args -> IO [NDArrayHandle]-_greater args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_upd ::-             forall args . Fullfilled "_greater(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_greater(ndarray)" args -> IO ()-_greater_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_greater_equal ::-               forall args . Fullfilled "_greater_equal(ndarray)" args =>-                 ArgsHMap "_greater_equal(ndarray)" args -> IO [NDArrayHandle]-_greater_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_equal_upd ::-                   forall args . Fullfilled "_greater_equal(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_greater_equal(ndarray)" args -> IO ()-_greater_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_lesser ::-        forall args . Fullfilled "_lesser(ndarray)" args =>-          ArgsHMap "_lesser(ndarray)" args -> IO [NDArrayHandle]-_lesser args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_upd ::-            forall args . Fullfilled "_lesser(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_lesser(ndarray)" args -> IO ()-_lesser_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_lesser_equal ::-              forall args . Fullfilled "_lesser_equal(ndarray)" args =>-                ArgsHMap "_lesser_equal(ndarray)" args -> IO [NDArrayHandle]-_lesser_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_equal_upd ::-                  forall args . Fullfilled "_lesser_equal(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_lesser_equal(ndarray)" args -> IO ()-_lesser_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_power(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_power ::-       forall args . Fullfilled "_power(ndarray)" args =>-         ArgsHMap "_power(ndarray)" args -> IO [NDArrayHandle]-_power args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_power_upd ::-           forall args . Fullfilled "_power(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_power(ndarray)" args -> IO ()-_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_power(ndarray)" = '[]--_backward_power ::-                forall args . Fullfilled "_backward_power(ndarray)" args =>-                  ArgsHMap "_backward_power(ndarray)" args -> IO [NDArrayHandle]-_backward_power args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_power_upd ::-                    forall args . Fullfilled "_backward_power(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_power(ndarray)" args -> IO ()-_backward_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_maximum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_maximum ::-         forall args . Fullfilled "_maximum(ndarray)" args =>-           ArgsHMap "_maximum(ndarray)" args -> IO [NDArrayHandle]-_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_maximum_upd ::-             forall args . Fullfilled "_maximum(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_maximum(ndarray)" args -> IO ()-_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_maximum(ndarray)" = '[]--_backward_maximum ::-                  forall args . Fullfilled "_backward_maximum(ndarray)" args =>-                    ArgsHMap "_backward_maximum(ndarray)" args -> IO [NDArrayHandle]-_backward_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_maximum_upd ::-                      forall args . Fullfilled "_backward_maximum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_maximum(ndarray)" args -> IO ()-_backward_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_minimum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_minimum ::-         forall args . Fullfilled "_minimum(ndarray)" args =>-           ArgsHMap "_minimum(ndarray)" args -> IO [NDArrayHandle]-_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_minimum_upd ::-             forall args . Fullfilled "_minimum(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_minimum(ndarray)" args -> IO ()-_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_minimum(ndarray)" = '[]--_backward_minimum ::-                  forall args . Fullfilled "_backward_minimum(ndarray)" args =>-                    ArgsHMap "_backward_minimum(ndarray)" args -> IO [NDArrayHandle]-_backward_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_minimum_upd ::-                      forall args . Fullfilled "_backward_minimum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_minimum(ndarray)" args -> IO ()-_backward_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_hypot(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_hypot ::-       forall args . Fullfilled "_hypot(ndarray)" args =>-         ArgsHMap "_hypot(ndarray)" args -> IO [NDArrayHandle]-_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_hypot_upd ::-           forall args . Fullfilled "_hypot(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_hypot(ndarray)" args -> IO ()-_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_hypot(ndarray)" = '[]--_backward_hypot ::-                forall args . Fullfilled "_backward_hypot(ndarray)" args =>-                  ArgsHMap "_backward_hypot(ndarray)" args -> IO [NDArrayHandle]-_backward_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_hypot_upd ::-                    forall args . Fullfilled "_backward_hypot(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_hypot(ndarray)" args -> IO ()-_backward_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_square_sum(ndarray)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--_square_sum ::-            forall args . Fullfilled "_square_sum(ndarray)" args =>-              ArgsHMap "_square_sum(ndarray)" args -> IO [NDArrayHandle]-_square_sum args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_square_sum_upd ::-                forall args . Fullfilled "_square_sum(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_square_sum(ndarray)" args -> IO ()-_square_sum_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_square_sum(ndarray)" = '[]--_backward_square_sum ::-                     forall args . Fullfilled "_backward_square_sum(ndarray)" args =>-                       ArgsHMap "_backward_square_sum(ndarray)" args -> IO [NDArrayHandle]-_backward_square_sum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_square_sum_upd ::-                         forall args . Fullfilled "_backward_square_sum(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_square_sum(ndarray)" args -> IO ()-_backward_square_sum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "add_n(ndarray)" =-     '[ '("args", AttrOpt [NDArrayHandle])]--add_n ::-      forall args . Fullfilled "add_n(ndarray)" args =>-        ArgsHMap "add_n(ndarray)" args -> IO [NDArrayHandle]-add_n args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "add_n"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--add_n_upd ::-          forall args . Fullfilled "add_n(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "add_n(ndarray)" args -> IO ()-add_n_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "add_n"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_zeros(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]--_zeros ::-       forall args . Fullfilled "_zeros(ndarray)" args =>-         ArgsHMap "_zeros(ndarray)" args -> IO [NDArrayHandle]-_zeros args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_zeros_upd ::-           forall args . Fullfilled "_zeros(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_zeros(ndarray)" args -> IO ()-_zeros_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_ones(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]--_ones ::-      forall args . Fullfilled "_ones(ndarray)" args =>-        ArgsHMap "_ones(ndarray)" args -> IO [NDArrayHandle]-_ones args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ones"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_ones_upd ::-          forall args . Fullfilled "_ones(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_ones(ndarray)" args -> IO ()-_ones_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ones"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_full(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("value", AttrReq Double)]--_full ::-      forall args . Fullfilled "_full(ndarray)" args =>-        ArgsHMap "_full(ndarray)" args -> IO [NDArrayHandle]-_full args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-               ("value",) . showValue <$> (args !? #value :: Maybe Double)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_full"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_full_upd ::-          forall args . Fullfilled "_full(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_full(ndarray)" args -> IO ()-_full_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-               ("value",) . showValue <$> (args !? #value :: Maybe Double)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_full"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_arange(ndarray)" =-     '[ '("start", AttrReq Double), '("stop", AttrOpt (Maybe Double)),-        '("step", AttrOpt Double), '("repeat", AttrOpt Int),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "uint8"]))]--_arange ::-        forall args . Fullfilled "_arange(ndarray)" args =>-          ArgsHMap "_arange(ndarray)" args -> IO [NDArrayHandle]-_arange args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_arange"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_arange_upd ::-            forall args . Fullfilled "_arange(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_arange(ndarray)" args -> IO ()-_arange_upd outputs args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_arange"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "zeros_like(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--zeros_like ::-           forall args . Fullfilled "zeros_like(ndarray)" args =>-             ArgsHMap "zeros_like(ndarray)" args -> IO [NDArrayHandle]-zeros_like args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "zeros_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--zeros_like_upd ::-               forall args . Fullfilled "zeros_like(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "zeros_like(ndarray)" args -> IO ()-zeros_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "zeros_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ones_like(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--ones_like ::-          forall args . Fullfilled "ones_like(ndarray)" args =>-            ArgsHMap "ones_like(ndarray)" args -> IO [NDArrayHandle]-ones_like args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ones_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ones_like_upd ::-              forall args . Fullfilled "ones_like(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "ones_like(ndarray)" args -> IO ()-ones_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ones_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_add(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_add ::-              forall args . Fullfilled "broadcast_add(ndarray)" args =>-                ArgsHMap "broadcast_add(ndarray)" args -> IO [NDArrayHandle]-broadcast_add args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_add_upd ::-                  forall args . Fullfilled "broadcast_add(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_add(ndarray)" args -> IO ()-broadcast_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_add(ndarray)" =-     '[]--_backward_broadcast_add ::-                        forall args . Fullfilled "_backward_broadcast_add(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_add(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_add args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_add_upd ::-                            forall args . Fullfilled "_backward_broadcast_add(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_add(ndarray)" args -> IO ()-_backward_broadcast_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_sub(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_sub ::-              forall args . Fullfilled "broadcast_sub(ndarray)" args =>-                ArgsHMap "broadcast_sub(ndarray)" args -> IO [NDArrayHandle]-broadcast_sub args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_sub_upd ::-                  forall args . Fullfilled "broadcast_sub(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_sub(ndarray)" args -> IO ()-broadcast_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_sub(ndarray)" =-     '[]--_backward_broadcast_sub ::-                        forall args . Fullfilled "_backward_broadcast_sub(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_sub(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_sub args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_sub_upd ::-                            forall args . Fullfilled "_backward_broadcast_sub(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_sub(ndarray)" args -> IO ()-_backward_broadcast_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_mul(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_mul ::-              forall args . Fullfilled "broadcast_mul(ndarray)" args =>-                ArgsHMap "broadcast_mul(ndarray)" args -> IO [NDArrayHandle]-broadcast_mul args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_mul_upd ::-                  forall args . Fullfilled "broadcast_mul(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_mul(ndarray)" args -> IO ()-broadcast_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_mul(ndarray)" =-     '[]--_backward_broadcast_mul ::-                        forall args . Fullfilled "_backward_broadcast_mul(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_mul(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_mul args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_mul_upd ::-                            forall args . Fullfilled "_backward_broadcast_mul(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_mul(ndarray)" args -> IO ()-_backward_broadcast_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_div(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_div ::-              forall args . Fullfilled "broadcast_div(ndarray)" args =>-                ArgsHMap "broadcast_div(ndarray)" args -> IO [NDArrayHandle]-broadcast_div args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_div_upd ::-                  forall args . Fullfilled "broadcast_div(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_div(ndarray)" args -> IO ()-broadcast_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_div(ndarray)" =-     '[]--_backward_broadcast_div ::-                        forall args . Fullfilled "_backward_broadcast_div(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_div(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_div args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_div_upd ::-                            forall args . Fullfilled "_backward_broadcast_div(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_div(ndarray)" args -> IO ()-_backward_broadcast_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_mod(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_mod ::-              forall args . Fullfilled "broadcast_mod(ndarray)" args =>-                ArgsHMap "broadcast_mod(ndarray)" args -> IO [NDArrayHandle]-broadcast_mod args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_mod_upd ::-                  forall args . Fullfilled "broadcast_mod(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_mod(ndarray)" args -> IO ()-broadcast_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_mod(ndarray)" =-     '[]--_backward_broadcast_mod ::-                        forall args . Fullfilled "_backward_broadcast_mod(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_mod(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_mod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_mod_upd ::-                            forall args . Fullfilled "_backward_broadcast_mod(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_mod(ndarray)" args -> IO ()-_backward_broadcast_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_gemm(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("beta", AttrOpt Double),-        '("_A", AttrOpt NDArrayHandle), '("_B", AttrOpt NDArrayHandle),-        '("_C", AttrOpt NDArrayHandle)]--_linalg_gemm ::-             forall args . Fullfilled "_linalg_gemm(ndarray)" args =>-               ArgsHMap "_linalg_gemm(ndarray)" args -> IO [NDArrayHandle]-_linalg_gemm args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle),-               ("_C",) <$> (args !? #_C :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_gemm_upd ::-                 forall args . Fullfilled "_linalg_gemm(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_gemm(ndarray)" args -> IO ()-_linalg_gemm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle),-               ("_C",) <$> (args !? #_C :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_gemm(ndarray)" = '[]--_backward_linalg_gemm ::-                      forall args . Fullfilled "_backward_linalg_gemm(ndarray)" args =>-                        ArgsHMap "_backward_linalg_gemm(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_gemm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_gemm_upd ::-                          forall args . Fullfilled "_backward_linalg_gemm(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_gemm(ndarray)" args -> IO ()-_backward_linalg_gemm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_gemm2(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("_A", AttrOpt NDArrayHandle),-        '("_B", AttrOpt NDArrayHandle)]--_linalg_gemm2 ::-              forall args . Fullfilled "_linalg_gemm2(ndarray)" args =>-                ArgsHMap "_linalg_gemm2(ndarray)" args -> IO [NDArrayHandle]-_linalg_gemm2 args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_gemm2_upd ::-                  forall args . Fullfilled "_linalg_gemm2(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_gemm2(ndarray)" args -> IO ()-_linalg_gemm2_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_gemm2(ndarray)" = '[]--_backward_linalg_gemm2 ::-                       forall args . Fullfilled "_backward_linalg_gemm2(ndarray)" args =>-                         ArgsHMap "_backward_linalg_gemm2(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_gemm2 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_gemm2_upd ::-                           forall args . Fullfilled "_backward_linalg_gemm2(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_gemm2(ndarray)" args -> IO ()-_backward_linalg_gemm2_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_potrf(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_potrf ::-              forall args . Fullfilled "_linalg_potrf(ndarray)" args =>-                ArgsHMap "_linalg_potrf(ndarray)" args -> IO [NDArrayHandle]-_linalg_potrf args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_potrf_upd ::-                  forall args . Fullfilled "_linalg_potrf(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_potrf(ndarray)" args -> IO ()-_linalg_potrf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_potrf(ndarray)" = '[]--_backward_linalg_potrf ::-                       forall args . Fullfilled "_backward_linalg_potrf(ndarray)" args =>-                         ArgsHMap "_backward_linalg_potrf(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_potrf args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_potrf_upd ::-                           forall args . Fullfilled "_backward_linalg_potrf(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_potrf(ndarray)" args -> IO ()-_backward_linalg_potrf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_potri(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_potri ::-              forall args . Fullfilled "_linalg_potri(ndarray)" args =>-                ArgsHMap "_linalg_potri(ndarray)" args -> IO [NDArrayHandle]-_linalg_potri args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_potri_upd ::-                  forall args . Fullfilled "_linalg_potri(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_potri(ndarray)" args -> IO ()-_linalg_potri_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_potri(ndarray)" = '[]--_backward_linalg_potri ::-                       forall args . Fullfilled "_backward_linalg_potri(ndarray)" args =>-                         ArgsHMap "_backward_linalg_potri(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_potri args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_potri_upd ::-                           forall args . Fullfilled "_backward_linalg_potri(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_potri(ndarray)" args -> IO ()-_backward_linalg_potri_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_trmm(ndarray)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("_A", AttrOpt NDArrayHandle),-        '("_B", AttrOpt NDArrayHandle)]--_linalg_trmm ::-             forall args . Fullfilled "_linalg_trmm(ndarray)" args =>-               ArgsHMap "_linalg_trmm(ndarray)" args -> IO [NDArrayHandle]-_linalg_trmm args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_trmm_upd ::-                 forall args . Fullfilled "_linalg_trmm(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_trmm(ndarray)" args -> IO ()-_linalg_trmm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_trmm(ndarray)" = '[]--_backward_linalg_trmm ::-                      forall args . Fullfilled "_backward_linalg_trmm(ndarray)" args =>-                        ArgsHMap "_backward_linalg_trmm(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_trmm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_trmm_upd ::-                          forall args . Fullfilled "_backward_linalg_trmm(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_trmm(ndarray)" args -> IO ()-_backward_linalg_trmm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_trsm(ndarray)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("_A", AttrOpt NDArrayHandle),-        '("_B", AttrOpt NDArrayHandle)]--_linalg_trsm ::-             forall args . Fullfilled "_linalg_trsm(ndarray)" args =>-               ArgsHMap "_linalg_trsm(ndarray)" args -> IO [NDArrayHandle]-_linalg_trsm args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_trsm_upd ::-                 forall args . Fullfilled "_linalg_trsm(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_trsm(ndarray)" args -> IO ()-_linalg_trsm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_trsm(ndarray)" = '[]--_backward_linalg_trsm ::-                      forall args . Fullfilled "_backward_linalg_trsm(ndarray)" args =>-                        ArgsHMap "_backward_linalg_trsm(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_trsm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_trsm_upd ::-                          forall args . Fullfilled "_backward_linalg_trsm(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_trsm(ndarray)" args -> IO ()-_backward_linalg_trsm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_sumlogdiag(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_sumlogdiag ::-                   forall args . Fullfilled "_linalg_sumlogdiag(ndarray)" args =>-                     ArgsHMap "_linalg_sumlogdiag(ndarray)" args -> IO [NDArrayHandle]-_linalg_sumlogdiag args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_sumlogdiag_upd ::-                       forall args . Fullfilled "_linalg_sumlogdiag(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_linalg_sumlogdiag(ndarray)" args -> IO ()-_linalg_sumlogdiag_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_sumlogdiag(ndarray)"-     = '[]--_backward_linalg_sumlogdiag ::-                            forall args .-                              Fullfilled "_backward_linalg_sumlogdiag(ndarray)" args =>-                              ArgsHMap "_backward_linalg_sumlogdiag(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_linalg_sumlogdiag args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_sumlogdiag_upd ::-                                forall args .-                                  Fullfilled "_backward_linalg_sumlogdiag(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_linalg_sumlogdiag(ndarray)" args -> IO ()-_backward_linalg_sumlogdiag_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_syrk(ndarray)" =-     '[ '("transpose", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt NDArrayHandle)]--_linalg_syrk ::-             forall args . Fullfilled "_linalg_syrk(ndarray)" args =>-               ArgsHMap "_linalg_syrk(ndarray)" args -> IO [NDArrayHandle]-_linalg_syrk args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_syrk_upd ::-                 forall args . Fullfilled "_linalg_syrk(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_syrk(ndarray)" args -> IO ()-_linalg_syrk_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_syrk(ndarray)" = '[]--_backward_linalg_syrk ::-                      forall args . Fullfilled "_backward_linalg_syrk(ndarray)" args =>-                        ArgsHMap "_backward_linalg_syrk(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_syrk args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_syrk_upd ::-                          forall args . Fullfilled "_backward_linalg_syrk(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_syrk(ndarray)" args -> IO ()-_backward_linalg_syrk_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_gelqf(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_gelqf ::-              forall args . Fullfilled "_linalg_gelqf(ndarray)" args =>-                ArgsHMap "_linalg_gelqf(ndarray)" args -> IO [NDArrayHandle]-_linalg_gelqf args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_gelqf_upd ::-                  forall args . Fullfilled "_linalg_gelqf(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_gelqf(ndarray)" args -> IO ()-_linalg_gelqf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_gelqf(ndarray)" = '[]--_backward_linalg_gelqf ::-                       forall args . Fullfilled "_backward_linalg_gelqf(ndarray)" args =>-                         ArgsHMap "_backward_linalg_gelqf(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_gelqf args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_gelqf_upd ::-                           forall args . Fullfilled "_backward_linalg_gelqf(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_gelqf(ndarray)" args -> IO ()-_backward_linalg_gelqf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_syevd(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_syevd ::-              forall args . Fullfilled "_linalg_syevd(ndarray)" args =>-                ArgsHMap "_linalg_syevd(ndarray)" args -> IO [NDArrayHandle]-_linalg_syevd args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_syevd_upd ::-                  forall args . Fullfilled "_linalg_syevd(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_syevd(ndarray)" args -> IO ()-_linalg_syevd_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_syevd(ndarray)" = '[]--_backward_linalg_syevd ::-                       forall args . Fullfilled "_backward_linalg_syevd(ndarray)" args =>-                         ArgsHMap "_backward_linalg_syevd(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_syevd args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_syevd_upd ::-                           forall args . Fullfilled "_backward_linalg_syevd(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_syevd(ndarray)" args -> IO ()-_backward_linalg_syevd_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cast_storage(ndarray)" =-     '[ '("stype",-          AttrReq (EnumType '["csr", "default", "row_sparse"])),-        '("data", AttrOpt NDArrayHandle)]--cast_storage ::-             forall args . Fullfilled "cast_storage(ndarray)" args =>-               ArgsHMap "cast_storage(ndarray)" args -> IO [NDArrayHandle]-cast_storage args-  = let scalarArgs-          = catMaybes-              [("stype",) . showValue <$>-                 (args !? #stype ::-                    Maybe (EnumType '["csr", "default", "row_sparse"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cast_storage"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cast_storage_upd ::-                 forall args . Fullfilled "cast_storage(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "cast_storage(ndarray)" args -> IO ()-cast_storage_upd outputs args-  = let scalarArgs-          = catMaybes-              [("stype",) . showValue <$>-                 (args !? #stype ::-                    Maybe (EnumType '["csr", "default", "row_sparse"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cast_storage"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_equal_scalar ::-              forall args . Fullfilled "_equal_scalar(ndarray)" args =>-                ArgsHMap "_equal_scalar(ndarray)" args -> IO [NDArrayHandle]-_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_equal_scalar_upd ::-                  forall args . Fullfilled "_equal_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_equal_scalar(ndarray)" args -> IO ()-_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_not_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_not_equal_scalar ::-                  forall args . Fullfilled "_not_equal_scalar(ndarray)" args =>-                    ArgsHMap "_not_equal_scalar(ndarray)" args -> IO [NDArrayHandle]-_not_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_not_equal_scalar_upd ::-                      forall args . Fullfilled "_not_equal_scalar(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_not_equal_scalar(ndarray)" args -> IO ()-_not_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_greater_scalar ::-                forall args . Fullfilled "_greater_scalar(ndarray)" args =>-                  ArgsHMap "_greater_scalar(ndarray)" args -> IO [NDArrayHandle]-_greater_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_scalar_upd ::-                    forall args . Fullfilled "_greater_scalar(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_greater_scalar(ndarray)" args -> IO ()-_greater_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_greater_equal_scalar ::-                      forall args . Fullfilled "_greater_equal_scalar(ndarray)" args =>-                        ArgsHMap "_greater_equal_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_greater_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_equal_scalar_upd ::-                          forall args . Fullfilled "_greater_equal_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_greater_equal_scalar(ndarray)" args -> IO ()-_greater_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_lesser_scalar ::-               forall args . Fullfilled "_lesser_scalar(ndarray)" args =>-                 ArgsHMap "_lesser_scalar(ndarray)" args -> IO [NDArrayHandle]-_lesser_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_scalar_upd ::-                   forall args . Fullfilled "_lesser_scalar(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_lesser_scalar(ndarray)" args -> IO ()-_lesser_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_lesser_equal_scalar ::-                     forall args . Fullfilled "_lesser_equal_scalar(ndarray)" args =>-                       ArgsHMap "_lesser_equal_scalar(ndarray)" args -> IO [NDArrayHandle]-_lesser_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_equal_scalar_upd ::-                         forall args . Fullfilled "_lesser_equal_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_lesser_equal_scalar(ndarray)" args -> IO ()-_lesser_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "relu(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--relu ::-     forall args . Fullfilled "relu(ndarray)" args =>-       ArgsHMap "relu(ndarray)" args -> IO [NDArrayHandle]-relu args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--relu_upd ::-         forall args . Fullfilled "relu(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "relu(ndarray)" args -> IO ()-relu_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_relu(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_relu ::-               forall args . Fullfilled "_backward_relu(ndarray)" args =>-                 ArgsHMap "_backward_relu(ndarray)" args -> IO [NDArrayHandle]-_backward_relu args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_relu_upd ::-                   forall args . Fullfilled "_backward_relu(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_relu(ndarray)" args -> IO ()-_backward_relu_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sigmoid(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sigmoid ::-        forall args . Fullfilled "sigmoid(ndarray)" args =>-          ArgsHMap "sigmoid(ndarray)" args -> IO [NDArrayHandle]-sigmoid args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sigmoid_upd ::-            forall args . Fullfilled "sigmoid(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "sigmoid(ndarray)" args -> IO ()-sigmoid_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sigmoid(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sigmoid ::-                  forall args . Fullfilled "_backward_sigmoid(ndarray)" args =>-                    ArgsHMap "_backward_sigmoid(ndarray)" args -> IO [NDArrayHandle]-_backward_sigmoid args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sigmoid_upd ::-                      forall args . Fullfilled "_backward_sigmoid(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_sigmoid(ndarray)" args -> IO ()-_backward_sigmoid_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_copy(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_copy ::-      forall args . Fullfilled "_copy(ndarray)" args =>-        ArgsHMap "_copy(ndarray)" args -> IO [NDArrayHandle]-_copy args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_copy_upd ::-          forall args . Fullfilled "_copy(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_copy(ndarray)" args -> IO ()-_copy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_copy(ndarray)" = '[]--_backward_copy ::-               forall args . Fullfilled "_backward_copy(ndarray)" args =>-                 ArgsHMap "_backward_copy(ndarray)" args -> IO [NDArrayHandle]-_backward_copy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_copy_upd ::-                   forall args . Fullfilled "_backward_copy(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_copy(ndarray)" args -> IO ()-_backward_copy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BlockGrad(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_BlockGrad ::-           forall args . Fullfilled "_BlockGrad(ndarray)" args =>-             ArgsHMap "_BlockGrad(ndarray)" args -> IO [NDArrayHandle]-_BlockGrad args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BlockGrad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BlockGrad_upd ::-               forall args . Fullfilled "_BlockGrad(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_BlockGrad(ndarray)" args -> IO ()-_BlockGrad_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BlockGrad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "make_loss(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--make_loss ::-          forall args . Fullfilled "make_loss(ndarray)" args =>-            ArgsHMap "make_loss(ndarray)" args -> IO [NDArrayHandle]-make_loss args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "make_loss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--make_loss_upd ::-              forall args . Fullfilled "make_loss(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "make_loss(ndarray)" args -> IO ()-make_loss_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "make_loss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_identity_with_attr_like_rhs(ndarray)"-     =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_identity_with_attr_like_rhs ::-                             forall args .-                               Fullfilled "_identity_with_attr_like_rhs(ndarray)" args =>-                               ArgsHMap "_identity_with_attr_like_rhs(ndarray)" args ->-                                 IO [NDArrayHandle]-_identity_with_attr_like_rhs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_identity_with_attr_like_rhs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_identity_with_attr_like_rhs_upd ::-                                 forall args .-                                   Fullfilled "_identity_with_attr_like_rhs(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_identity_with_attr_like_rhs(ndarray)" args -> IO ()-_identity_with_attr_like_rhs_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_identity_with_attr_like_rhs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "reshape_like(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--reshape_like ::-             forall args . Fullfilled "reshape_like(ndarray)" args =>-               ArgsHMap "reshape_like(ndarray)" args -> IO [NDArrayHandle]-reshape_like args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reshape_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--reshape_like_upd ::-                 forall args . Fullfilled "reshape_like(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "reshape_like(ndarray)" args -> IO ()-reshape_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reshape_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Cast(ndarray)" =-     '[ '("dtype",-          AttrReq-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--_Cast ::-      forall args . Fullfilled "_Cast(ndarray)" args =>-        ArgsHMap "_Cast(ndarray)" args -> IO [NDArrayHandle]-_Cast args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Cast_upd ::-          forall args . Fullfilled "_Cast(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_Cast(ndarray)" args -> IO ()-_Cast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cast(ndarray)" = '[]--_backward_cast ::-               forall args . Fullfilled "_backward_cast(ndarray)" args =>-                 ArgsHMap "_backward_cast(ndarray)" args -> IO [NDArrayHandle]-_backward_cast args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cast_upd ::-                   forall args . Fullfilled "_backward_cast(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cast(ndarray)" args -> IO ()-_backward_cast_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "negative(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--negative ::-         forall args . Fullfilled "negative(ndarray)" args =>-           ArgsHMap "negative(ndarray)" args -> IO [NDArrayHandle]-negative args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "negative"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--negative_upd ::-             forall args . Fullfilled "negative(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "negative(ndarray)" args -> IO ()-negative_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "negative"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "reciprocal(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--reciprocal ::-           forall args . Fullfilled "reciprocal(ndarray)" args =>-             ArgsHMap "reciprocal(ndarray)" args -> IO [NDArrayHandle]-reciprocal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--reciprocal_upd ::-               forall args . Fullfilled "reciprocal(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "reciprocal(ndarray)" args -> IO ()-reciprocal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_reciprocal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_reciprocal ::-                     forall args . Fullfilled "_backward_reciprocal(ndarray)" args =>-                       ArgsHMap "_backward_reciprocal(ndarray)" args -> IO [NDArrayHandle]-_backward_reciprocal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_reciprocal_upd ::-                         forall args . Fullfilled "_backward_reciprocal(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_reciprocal(ndarray)" args -> IO ()-_backward_reciprocal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "abs(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--abs ::-    forall args . Fullfilled "abs(ndarray)" args =>-      ArgsHMap "abs(ndarray)" args -> IO [NDArrayHandle]-abs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--abs_upd ::-        forall args . Fullfilled "abs(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "abs(ndarray)" args -> IO ()-abs_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_abs(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_abs ::-              forall args . Fullfilled "_backward_abs(ndarray)" args =>-                ArgsHMap "_backward_abs(ndarray)" args -> IO [NDArrayHandle]-_backward_abs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_abs_upd ::-                  forall args . Fullfilled "_backward_abs(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_abs(ndarray)" args -> IO ()-_backward_abs_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sign(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sign ::-     forall args . Fullfilled "sign(ndarray)" args =>-       ArgsHMap "sign(ndarray)" args -> IO [NDArrayHandle]-sign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sign_upd ::-         forall args . Fullfilled "sign(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sign(ndarray)" args -> IO ()-sign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sign(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sign ::-               forall args . Fullfilled "_backward_sign(ndarray)" args =>-                 ArgsHMap "_backward_sign(ndarray)" args -> IO [NDArrayHandle]-_backward_sign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sign_upd ::-                   forall args . Fullfilled "_backward_sign(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_sign(ndarray)" args -> IO ()-_backward_sign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "round(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--round ::-      forall args . Fullfilled "round(ndarray)" args =>-        ArgsHMap "round(ndarray)" args -> IO [NDArrayHandle]-round args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "round"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--round_upd ::-          forall args . Fullfilled "round(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "round(ndarray)" args -> IO ()-round_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "round"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rint(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--rint ::-     forall args . Fullfilled "rint(ndarray)" args =>-       ArgsHMap "rint(ndarray)" args -> IO [NDArrayHandle]-rint args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rint"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rint_upd ::-         forall args . Fullfilled "rint(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "rint(ndarray)" args -> IO ()-rint_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rint"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ceil(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--ceil ::-     forall args . Fullfilled "ceil(ndarray)" args =>-       ArgsHMap "ceil(ndarray)" args -> IO [NDArrayHandle]-ceil args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ceil"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ceil_upd ::-         forall args . Fullfilled "ceil(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "ceil(ndarray)" args -> IO ()-ceil_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ceil"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "floor(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--floor ::-      forall args . Fullfilled "floor(ndarray)" args =>-        ArgsHMap "floor(ndarray)" args -> IO [NDArrayHandle]-floor args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "floor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--floor_upd ::-          forall args . Fullfilled "floor(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "floor(ndarray)" args -> IO ()-floor_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "floor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "trunc(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--trunc ::-      forall args . Fullfilled "trunc(ndarray)" args =>-        ArgsHMap "trunc(ndarray)" args -> IO [NDArrayHandle]-trunc args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "trunc"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--trunc_upd ::-          forall args . Fullfilled "trunc(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "trunc(ndarray)" args -> IO ()-trunc_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "trunc"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "fix(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--fix ::-    forall args . Fullfilled "fix(ndarray)" args =>-      ArgsHMap "fix(ndarray)" args -> IO [NDArrayHandle]-fix args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fix"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--fix_upd ::-        forall args . Fullfilled "fix(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "fix(ndarray)" args -> IO ()-fix_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fix"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "square(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--square ::-       forall args . Fullfilled "square(ndarray)" args =>-         ArgsHMap "square(ndarray)" args -> IO [NDArrayHandle]-square args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--square_upd ::-           forall args . Fullfilled "square(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "square(ndarray)" args -> IO ()-square_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_square(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_square ::-                 forall args . Fullfilled "_backward_square(ndarray)" args =>-                   ArgsHMap "_backward_square(ndarray)" args -> IO [NDArrayHandle]-_backward_square args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_square_upd ::-                     forall args . Fullfilled "_backward_square(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_square(ndarray)" args -> IO ()-_backward_square_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sqrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sqrt ::-     forall args . Fullfilled "sqrt(ndarray)" args =>-       ArgsHMap "sqrt(ndarray)" args -> IO [NDArrayHandle]-sqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sqrt_upd ::-         forall args . Fullfilled "sqrt(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sqrt(ndarray)" args -> IO ()-sqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sqrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sqrt ::-               forall args . Fullfilled "_backward_sqrt(ndarray)" args =>-                 ArgsHMap "_backward_sqrt(ndarray)" args -> IO [NDArrayHandle]-_backward_sqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sqrt_upd ::-                   forall args . Fullfilled "_backward_sqrt(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_sqrt(ndarray)" args -> IO ()-_backward_sqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rsqrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--rsqrt ::-      forall args . Fullfilled "rsqrt(ndarray)" args =>-        ArgsHMap "rsqrt(ndarray)" args -> IO [NDArrayHandle]-rsqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rsqrt_upd ::-          forall args . Fullfilled "rsqrt(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "rsqrt(ndarray)" args -> IO ()-rsqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rsqrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rsqrt ::-                forall args . Fullfilled "_backward_rsqrt(ndarray)" args =>-                  ArgsHMap "_backward_rsqrt(ndarray)" args -> IO [NDArrayHandle]-_backward_rsqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rsqrt_upd ::-                    forall args . Fullfilled "_backward_rsqrt(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_rsqrt(ndarray)" args -> IO ()-_backward_rsqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cbrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--cbrt ::-     forall args . Fullfilled "cbrt(ndarray)" args =>-       ArgsHMap "cbrt(ndarray)" args -> IO [NDArrayHandle]-cbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cbrt_upd ::-         forall args . Fullfilled "cbrt(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "cbrt(ndarray)" args -> IO ()-cbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cbrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_cbrt ::-               forall args . Fullfilled "_backward_cbrt(ndarray)" args =>-                 ArgsHMap "_backward_cbrt(ndarray)" args -> IO [NDArrayHandle]-_backward_cbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cbrt_upd ::-                   forall args . Fullfilled "_backward_cbrt(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cbrt(ndarray)" args -> IO ()-_backward_cbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rcbrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--rcbrt ::-      forall args . Fullfilled "rcbrt(ndarray)" args =>-        ArgsHMap "rcbrt(ndarray)" args -> IO [NDArrayHandle]-rcbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rcbrt_upd ::-          forall args . Fullfilled "rcbrt(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "rcbrt(ndarray)" args -> IO ()-rcbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rcbrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rcbrt ::-                forall args . Fullfilled "_backward_rcbrt(ndarray)" args =>-                  ArgsHMap "_backward_rcbrt(ndarray)" args -> IO [NDArrayHandle]-_backward_rcbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rcbrt_upd ::-                    forall args . Fullfilled "_backward_rcbrt(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_rcbrt(ndarray)" args -> IO ()-_backward_rcbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "exp(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--exp ::-    forall args . Fullfilled "exp(ndarray)" args =>-      ArgsHMap "exp(ndarray)" args -> IO [NDArrayHandle]-exp args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "exp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--exp_upd ::-        forall args . Fullfilled "exp(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "exp(ndarray)" args -> IO ()-exp_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "exp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log ::-    forall args . Fullfilled "log(ndarray)" args =>-      ArgsHMap "log(ndarray)" args -> IO [NDArrayHandle]-log args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log_upd ::-        forall args . Fullfilled "log(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "log(ndarray)" args -> IO ()-log_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log10(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log10 ::-      forall args . Fullfilled "log10(ndarray)" args =>-        ArgsHMap "log10(ndarray)" args -> IO [NDArrayHandle]-log10 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log10_upd ::-          forall args . Fullfilled "log10(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "log10(ndarray)" args -> IO ()-log10_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log2(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log2 ::-     forall args . Fullfilled "log2(ndarray)" args =>-       ArgsHMap "log2(ndarray)" args -> IO [NDArrayHandle]-log2 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log2_upd ::-         forall args . Fullfilled "log2(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "log2(ndarray)" args -> IO ()-log2_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log ::-              forall args . Fullfilled "_backward_log(ndarray)" args =>-                ArgsHMap "_backward_log(ndarray)" args -> IO [NDArrayHandle]-_backward_log args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log_upd ::-                  forall args . Fullfilled "_backward_log(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_log(ndarray)" args -> IO ()-_backward_log_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log10(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log10 ::-                forall args . Fullfilled "_backward_log10(ndarray)" args =>-                  ArgsHMap "_backward_log10(ndarray)" args -> IO [NDArrayHandle]-_backward_log10 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log10_upd ::-                    forall args . Fullfilled "_backward_log10(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_log10(ndarray)" args -> IO ()-_backward_log10_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log2(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log2 ::-               forall args . Fullfilled "_backward_log2(ndarray)" args =>-                 ArgsHMap "_backward_log2(ndarray)" args -> IO [NDArrayHandle]-_backward_log2 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log2_upd ::-                   forall args . Fullfilled "_backward_log2(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_log2(ndarray)" args -> IO ()-_backward_log2_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log1p(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log1p ::-      forall args . Fullfilled "log1p(ndarray)" args =>-        ArgsHMap "log1p(ndarray)" args -> IO [NDArrayHandle]-log1p args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log1p_upd ::-          forall args . Fullfilled "log1p(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "log1p(ndarray)" args -> IO ()-log1p_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log1p(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log1p ::-                forall args . Fullfilled "_backward_log1p(ndarray)" args =>-                  ArgsHMap "_backward_log1p(ndarray)" args -> IO [NDArrayHandle]-_backward_log1p args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log1p_upd ::-                    forall args . Fullfilled "_backward_log1p(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_log1p(ndarray)" args -> IO ()-_backward_log1p_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "expm1(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--expm1 ::-      forall args . Fullfilled "expm1(ndarray)" args =>-        ArgsHMap "expm1(ndarray)" args -> IO [NDArrayHandle]-expm1 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--expm1_upd ::-          forall args . Fullfilled "expm1(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "expm1(ndarray)" args -> IO ()-expm1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_expm1(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_expm1 ::-                forall args . Fullfilled "_backward_expm1(ndarray)" args =>-                  ArgsHMap "_backward_expm1(ndarray)" args -> IO [NDArrayHandle]-_backward_expm1 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_expm1_upd ::-                    forall args . Fullfilled "_backward_expm1(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_expm1(ndarray)" args -> IO ()-_backward_expm1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "gamma(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--gamma ::-      forall args . Fullfilled "gamma(ndarray)" args =>-        ArgsHMap "gamma(ndarray)" args -> IO [NDArrayHandle]-gamma args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--gamma_upd ::-          forall args . Fullfilled "gamma(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "gamma(ndarray)" args -> IO ()-gamma_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_gamma(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_gamma ::-                forall args . Fullfilled "_backward_gamma(ndarray)" args =>-                  ArgsHMap "_backward_gamma(ndarray)" args -> IO [NDArrayHandle]-_backward_gamma args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_gamma_upd ::-                    forall args . Fullfilled "_backward_gamma(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_gamma(ndarray)" args -> IO ()-_backward_gamma_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "gammaln(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--gammaln ::-        forall args . Fullfilled "gammaln(ndarray)" args =>-          ArgsHMap "gammaln(ndarray)" args -> IO [NDArrayHandle]-gammaln args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--gammaln_upd ::-            forall args . Fullfilled "gammaln(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "gammaln(ndarray)" args -> IO ()-gammaln_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_gammaln(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_gammaln ::-                  forall args . Fullfilled "_backward_gammaln(ndarray)" args =>-                    ArgsHMap "_backward_gammaln(ndarray)" args -> IO [NDArrayHandle]-_backward_gammaln args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_gammaln_upd ::-                      forall args . Fullfilled "_backward_gammaln(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_gammaln(ndarray)" args -> IO ()-_backward_gammaln_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sum(ndarray)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--sum ::-    forall args . Fullfilled "sum(ndarray)" args =>-      ArgsHMap "sum(ndarray)" args -> IO [NDArrayHandle]-sum args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sum_upd ::-        forall args . Fullfilled "sum(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "sum(ndarray)" args -> IO ()-sum_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sum(ndarray)" = '[]--_backward_sum ::-              forall args . Fullfilled "_backward_sum(ndarray)" args =>-                ArgsHMap "_backward_sum(ndarray)" args -> IO [NDArrayHandle]-_backward_sum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sum_upd ::-                  forall args . Fullfilled "_backward_sum(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_sum(ndarray)" args -> IO ()-_backward_sum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "mean(ndarray)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--mean ::-     forall args . Fullfilled "mean(ndarray)" args =>-       ArgsHMap "mean(ndarray)" args -> IO [NDArrayHandle]-mean args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--mean_upd ::-         forall args . Fullfilled "mean(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "mean(ndarray)" args -> IO ()-mean_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mean(ndarray)" = '[]--_backward_mean ::-               forall args . Fullfilled "_backward_mean(ndarray)" args =>-                 ArgsHMap "_backward_mean(ndarray)" args -> IO [NDArrayHandle]-_backward_mean args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mean_upd ::-                   forall args . Fullfilled "_backward_mean(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_mean(ndarray)" args -> IO ()-_backward_mean_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "prod(ndarray)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--prod ::-     forall args . Fullfilled "prod(ndarray)" args =>-       ArgsHMap "prod(ndarray)" args -> IO [NDArrayHandle]-prod args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--prod_upd ::-         forall args . Fullfilled "prod(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "prod(ndarray)" args -> IO ()-prod_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_prod(ndarray)" = '[]--_backward_prod ::-               forall args . Fullfilled "_backward_prod(ndarray)" args =>-                 ArgsHMap "_backward_prod(ndarray)" args -> IO [NDArrayHandle]-_backward_prod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_prod_upd ::-                   forall args . Fullfilled "_backward_prod(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_prod(ndarray)" args -> IO ()-_backward_prod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "nansum(ndarray)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--nansum ::-       forall args . Fullfilled "nansum(ndarray)" args =>-         ArgsHMap "nansum(ndarray)" args -> IO [NDArrayHandle]-nansum args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--nansum_upd ::-           forall args . Fullfilled "nansum(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "nansum(ndarray)" args -> IO ()-nansum_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_nansum(ndarray)" = '[]--_backward_nansum ::-                 forall args . Fullfilled "_backward_nansum(ndarray)" args =>-                   ArgsHMap "_backward_nansum(ndarray)" args -> IO [NDArrayHandle]-_backward_nansum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_nansum_upd ::-                     forall args . Fullfilled "_backward_nansum(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_nansum(ndarray)" args -> IO ()-_backward_nansum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "nanprod(ndarray)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--nanprod ::-        forall args . Fullfilled "nanprod(ndarray)" args =>-          ArgsHMap "nanprod(ndarray)" args -> IO [NDArrayHandle]-nanprod args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--nanprod_upd ::-            forall args . Fullfilled "nanprod(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "nanprod(ndarray)" args -> IO ()-nanprod_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_nanprod(ndarray)" = '[]--_backward_nanprod ::-                  forall args . Fullfilled "_backward_nanprod(ndarray)" args =>-                    ArgsHMap "_backward_nanprod(ndarray)" args -> IO [NDArrayHandle]-_backward_nanprod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_nanprod_upd ::-                      forall args . Fullfilled "_backward_nanprod(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_nanprod(ndarray)" args -> IO ()-_backward_nanprod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "max(ndarray)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--max ::-    forall args . Fullfilled "max(ndarray)" args =>-      ArgsHMap "max(ndarray)" args -> IO [NDArrayHandle]-max args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--max_upd ::-        forall args . Fullfilled "max(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "max(ndarray)" args -> IO ()-max_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_max(ndarray)" = '[]--_backward_max ::-              forall args . Fullfilled "_backward_max(ndarray)" args =>-                ArgsHMap "_backward_max(ndarray)" args -> IO [NDArrayHandle]-_backward_max args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_max_upd ::-                  forall args . Fullfilled "_backward_max(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_max(ndarray)" args -> IO ()-_backward_max_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "min(ndarray)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--min ::-    forall args . Fullfilled "min(ndarray)" args =>-      ArgsHMap "min(ndarray)" args -> IO [NDArrayHandle]-min args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--min_upd ::-        forall args . Fullfilled "min(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "min(ndarray)" args -> IO ()-min_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_min(ndarray)" = '[]--_backward_min ::-              forall args . Fullfilled "_backward_min(ndarray)" args =>-                ArgsHMap "_backward_min(ndarray)" args -> IO [NDArrayHandle]-_backward_min args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_min_upd ::-                  forall args . Fullfilled "_backward_min(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_min(ndarray)" args -> IO ()-_backward_min_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_axis(ndarray)" =-     '[ '("axis", AttrOpt [Int]), '("size", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--broadcast_axis ::-               forall args . Fullfilled "broadcast_axis(ndarray)" args =>-                 ArgsHMap "broadcast_axis(ndarray)" args -> IO [NDArrayHandle]-broadcast_axis args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("size",) . showValue <$> (args !? #size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_axis_upd ::-                   forall args . Fullfilled "broadcast_axis(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "broadcast_axis(ndarray)" args -> IO ()-broadcast_axis_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("size",) . showValue <$> (args !? #size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_to(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--broadcast_to ::-             forall args . Fullfilled "broadcast_to(ndarray)" args =>-               ArgsHMap "broadcast_to(ndarray)" args -> IO [NDArrayHandle]-broadcast_to args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_to"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_to_upd ::-                 forall args . Fullfilled "broadcast_to(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "broadcast_to(ndarray)" args -> IO ()-broadcast_to_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_to"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_broadcast_backward(ndarray)" = '[]--_broadcast_backward ::-                    forall args . Fullfilled "_broadcast_backward(ndarray)" args =>-                      ArgsHMap "_broadcast_backward(ndarray)" args -> IO [NDArrayHandle]-_broadcast_backward args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_broadcast_backward"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_broadcast_backward_upd ::-                        forall args . Fullfilled "_broadcast_backward(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_broadcast_backward(ndarray)" args -> IO ()-_broadcast_backward_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_broadcast_backward"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "norm(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--norm ::-     forall args . Fullfilled "norm(ndarray)" args =>-       ArgsHMap "norm(ndarray)" args -> IO [NDArrayHandle]-norm args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--norm_upd ::-         forall args . Fullfilled "norm(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "norm(ndarray)" args -> IO ()-norm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_add(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_add ::-             forall args . Fullfilled "elemwise_add(ndarray)" args =>-               ArgsHMap "elemwise_add(ndarray)" args -> IO [NDArrayHandle]-elemwise_add args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_add_upd ::-                 forall args . Fullfilled "elemwise_add(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_add(ndarray)" args -> IO ()-elemwise_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_grad_add(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_grad_add ::-          forall args . Fullfilled "_grad_add(ndarray)" args =>-            ArgsHMap "_grad_add(ndarray)" args -> IO [NDArrayHandle]-_grad_add args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_grad_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_grad_add_upd ::-              forall args . Fullfilled "_grad_add(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_grad_add(ndarray)" args -> IO ()-_grad_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_grad_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_add(ndarray)" = '[]--_backward_add ::-              forall args . Fullfilled "_backward_add(ndarray)" args =>-                ArgsHMap "_backward_add(ndarray)" args -> IO [NDArrayHandle]-_backward_add args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_add_upd ::-                  forall args . Fullfilled "_backward_add(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_add(ndarray)" args -> IO ()-_backward_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_sub(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_sub ::-             forall args . Fullfilled "elemwise_sub(ndarray)" args =>-               ArgsHMap "elemwise_sub(ndarray)" args -> IO [NDArrayHandle]-elemwise_sub args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_sub_upd ::-                 forall args . Fullfilled "elemwise_sub(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_sub(ndarray)" args -> IO ()-elemwise_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sub(ndarray)" = '[]--_backward_sub ::-              forall args . Fullfilled "_backward_sub(ndarray)" args =>-                ArgsHMap "_backward_sub(ndarray)" args -> IO [NDArrayHandle]-_backward_sub args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sub_upd ::-                  forall args . Fullfilled "_backward_sub(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_sub(ndarray)" args -> IO ()-_backward_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_mul(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_mul ::-             forall args . Fullfilled "elemwise_mul(ndarray)" args =>-               ArgsHMap "elemwise_mul(ndarray)" args -> IO [NDArrayHandle]-elemwise_mul args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_mul_upd ::-                 forall args . Fullfilled "elemwise_mul(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_mul(ndarray)" args -> IO ()-elemwise_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mul(ndarray)" = '[]--_backward_mul ::-              forall args . Fullfilled "_backward_mul(ndarray)" args =>-                ArgsHMap "_backward_mul(ndarray)" args -> IO [NDArrayHandle]-_backward_mul args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mul_upd ::-                  forall args . Fullfilled "_backward_mul(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_mul(ndarray)" args -> IO ()-_backward_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_div(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_div ::-             forall args . Fullfilled "elemwise_div(ndarray)" args =>-               ArgsHMap "elemwise_div(ndarray)" args -> IO [NDArrayHandle]-elemwise_div args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_div_upd ::-                 forall args . Fullfilled "elemwise_div(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_div(ndarray)" args -> IO ()-elemwise_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_div(ndarray)" = '[]--_backward_div ::-              forall args . Fullfilled "_backward_div(ndarray)" args =>-                ArgsHMap "_backward_div(ndarray)" args -> IO [NDArrayHandle]-_backward_div args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_div_upd ::-                  forall args . Fullfilled "_backward_div(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_div(ndarray)" args -> IO ()-_backward_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_mod(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_mod ::-     forall args . Fullfilled "_mod(ndarray)" args =>-       ArgsHMap "_mod(ndarray)" args -> IO [NDArrayHandle]-_mod args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_mod_upd ::-         forall args . Fullfilled "_mod(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_mod(ndarray)" args -> IO ()-_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mod(ndarray)" = '[]--_backward_mod ::-              forall args . Fullfilled "_backward_mod(ndarray)" args =>-                ArgsHMap "_backward_mod(ndarray)" args -> IO [NDArrayHandle]-_backward_mod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mod_upd ::-                  forall args . Fullfilled "_backward_mod(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_mod(ndarray)" args -> IO ()-_backward_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_plus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_plus_scalar ::-             forall args . Fullfilled "_plus_scalar(ndarray)" args =>-               ArgsHMap "_plus_scalar(ndarray)" args -> IO [NDArrayHandle]-_plus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_plus_scalar_upd ::-                 forall args . Fullfilled "_plus_scalar(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_plus_scalar(ndarray)" args -> IO ()-_plus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_minus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_minus_scalar ::-              forall args . Fullfilled "_minus_scalar(ndarray)" args =>-                ArgsHMap "_minus_scalar(ndarray)" args -> IO [NDArrayHandle]-_minus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_minus_scalar_upd ::-                  forall args . Fullfilled "_minus_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_minus_scalar(ndarray)" args -> IO ()-_minus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rminus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rminus_scalar ::-               forall args . Fullfilled "_rminus_scalar(ndarray)" args =>-                 ArgsHMap "_rminus_scalar(ndarray)" args -> IO [NDArrayHandle]-_rminus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rminus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rminus_scalar_upd ::-                   forall args . Fullfilled "_rminus_scalar(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_rminus_scalar(ndarray)" args -> IO ()-_rminus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rminus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_mul_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_mul_scalar ::-            forall args . Fullfilled "_mul_scalar(ndarray)" args =>-              ArgsHMap "_mul_scalar(ndarray)" args -> IO [NDArrayHandle]-_mul_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_mul_scalar_upd ::-                forall args . Fullfilled "_mul_scalar(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_mul_scalar(ndarray)" args -> IO ()-_mul_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mul_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_backward_mul_scalar ::-                     forall args . Fullfilled "_backward_mul_scalar(ndarray)" args =>-                       ArgsHMap "_backward_mul_scalar(ndarray)" args -> IO [NDArrayHandle]-_backward_mul_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mul_scalar_upd ::-                         forall args . Fullfilled "_backward_mul_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_mul_scalar(ndarray)" args -> IO ()-_backward_mul_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_div_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_div_scalar ::-            forall args . Fullfilled "_div_scalar(ndarray)" args =>-              ArgsHMap "_div_scalar(ndarray)" args -> IO [NDArrayHandle]-_div_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_div_scalar_upd ::-                forall args . Fullfilled "_div_scalar(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_div_scalar(ndarray)" args -> IO ()-_div_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_div_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_backward_div_scalar ::-                     forall args . Fullfilled "_backward_div_scalar(ndarray)" args =>-                       ArgsHMap "_backward_div_scalar(ndarray)" args -> IO [NDArrayHandle]-_backward_div_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_div_scalar_upd ::-                         forall args . Fullfilled "_backward_div_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_div_scalar(ndarray)" args -> IO ()-_backward_div_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rdiv_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rdiv_scalar ::-             forall args . Fullfilled "_rdiv_scalar(ndarray)" args =>-               ArgsHMap "_rdiv_scalar(ndarray)" args -> IO [NDArrayHandle]-_rdiv_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rdiv_scalar_upd ::-                 forall args . Fullfilled "_rdiv_scalar(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_rdiv_scalar(ndarray)" args -> IO ()-_rdiv_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rdiv_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rdiv_scalar ::-                      forall args . Fullfilled "_backward_rdiv_scalar(ndarray)" args =>-                        ArgsHMap "_backward_rdiv_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_rdiv_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rdiv_scalar_upd ::-                          forall args . Fullfilled "_backward_rdiv_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_rdiv_scalar(ndarray)" args -> IO ()-_backward_rdiv_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_mod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_mod_scalar ::-            forall args . Fullfilled "_mod_scalar(ndarray)" args =>-              ArgsHMap "_mod_scalar(ndarray)" args -> IO [NDArrayHandle]-_mod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_mod_scalar_upd ::-                forall args . Fullfilled "_mod_scalar(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_mod_scalar(ndarray)" args -> IO ()-_mod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_mod_scalar ::-                     forall args . Fullfilled "_backward_mod_scalar(ndarray)" args =>-                       ArgsHMap "_backward_mod_scalar(ndarray)" args -> IO [NDArrayHandle]-_backward_mod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mod_scalar_upd ::-                         forall args . Fullfilled "_backward_mod_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_mod_scalar(ndarray)" args -> IO ()-_backward_mod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rmod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rmod_scalar ::-             forall args . Fullfilled "_rmod_scalar(ndarray)" args =>-               ArgsHMap "_rmod_scalar(ndarray)" args -> IO [NDArrayHandle]-_rmod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rmod_scalar_upd ::-                 forall args . Fullfilled "_rmod_scalar(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_rmod_scalar(ndarray)" args -> IO ()-_rmod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rmod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rmod_scalar ::-                      forall args . Fullfilled "_backward_rmod_scalar(ndarray)" args =>-                        ArgsHMap "_backward_rmod_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_rmod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rmod_scalar_upd ::-                          forall args . Fullfilled "_backward_rmod_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_rmod_scalar(ndarray)" args -> IO ()-_backward_rmod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_elemwise_div(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_scatter_elemwise_div ::-                      forall args . Fullfilled "_scatter_elemwise_div(ndarray)" args =>-                        ArgsHMap "_scatter_elemwise_div(ndarray)" args ->-                          IO [NDArrayHandle]-_scatter_elemwise_div args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_elemwise_div_upd ::-                          forall args . Fullfilled "_scatter_elemwise_div(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_scatter_elemwise_div(ndarray)" args -> IO ()-_scatter_elemwise_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_plus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_scatter_plus_scalar ::-                     forall args . Fullfilled "_scatter_plus_scalar(ndarray)" args =>-                       ArgsHMap "_scatter_plus_scalar(ndarray)" args -> IO [NDArrayHandle]-_scatter_plus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_plus_scalar_upd ::-                         forall args . Fullfilled "_scatter_plus_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_scatter_plus_scalar(ndarray)" args -> IO ()-_scatter_plus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_minus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_scatter_minus_scalar ::-                      forall args . Fullfilled "_scatter_minus_scalar(ndarray)" args =>-                        ArgsHMap "_scatter_minus_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_scatter_minus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_minus_scalar_upd ::-                          forall args . Fullfilled "_scatter_minus_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_scatter_minus_scalar(ndarray)" args -> IO ()-_scatter_minus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Embedding(ndarray)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle)]--_Embedding ::-           forall args . Fullfilled "_Embedding(ndarray)" args =>-             ArgsHMap "_Embedding(ndarray)" args -> IO [NDArrayHandle]-_Embedding args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Embedding_upd ::-               forall args . Fullfilled "_Embedding(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_Embedding(ndarray)" args -> IO ()-_Embedding_upd outputs args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_SparseEmbedding(ndarray)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle)]--_contrib_SparseEmbedding ::-                         forall args .-                           Fullfilled "_contrib_SparseEmbedding(ndarray)" args =>-                           ArgsHMap "_contrib_SparseEmbedding(ndarray)" args ->-                             IO [NDArrayHandle]-_contrib_SparseEmbedding args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_SparseEmbedding_upd ::-                             forall args .-                               Fullfilled "_contrib_SparseEmbedding(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_contrib_SparseEmbedding(ndarray)" args -> IO ()-_contrib_SparseEmbedding_upd outputs args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Embedding(ndarray)" = '[]--_backward_Embedding ::-                    forall args . Fullfilled "_backward_Embedding(ndarray)" args =>-                      ArgsHMap "_backward_Embedding(ndarray)" args -> IO [NDArrayHandle]-_backward_Embedding args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Embedding_upd ::-                        forall args . Fullfilled "_backward_Embedding(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_Embedding(ndarray)" args -> IO ()-_backward_Embedding_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SparseEmbedding(ndarray)" =-     '[]--_backward_SparseEmbedding ::-                          forall args .-                            Fullfilled "_backward_SparseEmbedding(ndarray)" args =>-                            ArgsHMap "_backward_SparseEmbedding(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_SparseEmbedding args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SparseEmbedding_upd ::-                              forall args .-                                Fullfilled "_backward_SparseEmbedding(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_SparseEmbedding(ndarray)" args -> IO ()-_backward_SparseEmbedding_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "take(ndarray)" =-     '[ '("axis", AttrOpt Int),-        '("mode", AttrOpt (EnumType '["clip", "raise", "wrap"])),-        '("a", AttrOpt NDArrayHandle), '("indices", AttrOpt NDArrayHandle)]--take ::-     forall args . Fullfilled "take(ndarray)" args =>-       ArgsHMap "take(ndarray)" args -> IO [NDArrayHandle]-take args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "raise", "wrap"]))]-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--take_upd ::-         forall args . Fullfilled "take(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "take(ndarray)" args -> IO ()-take_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "raise", "wrap"]))]-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_take(ndarray)" = '[]--_backward_take ::-               forall args . Fullfilled "_backward_take(ndarray)" args =>-                 ArgsHMap "_backward_take(ndarray)" args -> IO [NDArrayHandle]-_backward_take args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_take_upd ::-                   forall args . Fullfilled "_backward_take(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_take(ndarray)" args -> IO ()-_backward_take_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "batch_take(ndarray)" =-     '[ '("a", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--batch_take ::-           forall args . Fullfilled "batch_take(ndarray)" args =>-             ArgsHMap "batch_take(ndarray)" args -> IO [NDArrayHandle]-batch_take args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--batch_take_upd ::-               forall args . Fullfilled "batch_take(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "batch_take(ndarray)" args -> IO ()-batch_take_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "one_hot(ndarray)" =-     '[ '("depth", AttrReq Int), '("on_value", AttrOpt Double),-        '("off_value", AttrOpt Double),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("indices", AttrOpt NDArrayHandle)]--one_hot ::-        forall args . Fullfilled "one_hot(ndarray)" args =>-          ArgsHMap "one_hot(ndarray)" args -> IO [NDArrayHandle]-one_hot args-  = let scalarArgs-          = catMaybes-              [("depth",) . showValue <$> (args !? #depth :: Maybe Int),-               ("on_value",) . showValue <$> (args !? #on_value :: Maybe Double),-               ("off_value",) . showValue <$>-                 (args !? #off_value :: Maybe Double),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes-              [("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "one_hot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--one_hot_upd ::-            forall args . Fullfilled "one_hot(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "one_hot(ndarray)" args -> IO ()-one_hot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("depth",) . showValue <$> (args !? #depth :: Maybe Int),-               ("on_value",) . showValue <$> (args !? #on_value :: Maybe Double),-               ("off_value",) . showValue <$>-                 (args !? #off_value :: Maybe Double),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes-              [("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "one_hot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "gather_nd(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--gather_nd ::-          forall args . Fullfilled "gather_nd(ndarray)" args =>-            ArgsHMap "gather_nd(ndarray)" args -> IO [NDArrayHandle]-gather_nd args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--gather_nd_upd ::-              forall args . Fullfilled "gather_nd(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "gather_nd(ndarray)" args -> IO ()-gather_nd_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "scatter_nd(ndarray)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--scatter_nd ::-           forall args . Fullfilled "scatter_nd(ndarray)" args =>-             ArgsHMap "scatter_nd(ndarray)" args -> IO [NDArrayHandle]-scatter_nd args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "scatter_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--scatter_nd_upd ::-               forall args . Fullfilled "scatter_nd(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "scatter_nd(ndarray)" args -> IO ()-scatter_nd_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "scatter_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_set_nd(ndarray)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--_scatter_set_nd ::-                forall args . Fullfilled "_scatter_set_nd(ndarray)" args =>-                  ArgsHMap "_scatter_set_nd(ndarray)" args -> IO [NDArrayHandle]-_scatter_set_nd args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_set_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_set_nd_upd ::-                    forall args . Fullfilled "_scatter_set_nd(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_scatter_set_nd(ndarray)" args -> IO ()-_scatter_set_nd_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_set_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_equal ::-                forall args . Fullfilled "broadcast_equal(ndarray)" args =>-                  ArgsHMap "broadcast_equal(ndarray)" args -> IO [NDArrayHandle]-broadcast_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_equal_upd ::-                    forall args . Fullfilled "broadcast_equal(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "broadcast_equal(ndarray)" args -> IO ()-broadcast_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_not_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_not_equal ::-                    forall args . Fullfilled "broadcast_not_equal(ndarray)" args =>-                      ArgsHMap "broadcast_not_equal(ndarray)" args -> IO [NDArrayHandle]-broadcast_not_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_not_equal_upd ::-                        forall args . Fullfilled "broadcast_not_equal(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "broadcast_not_equal(ndarray)" args -> IO ()-broadcast_not_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_greater(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_greater ::-                  forall args . Fullfilled "broadcast_greater(ndarray)" args =>-                    ArgsHMap "broadcast_greater(ndarray)" args -> IO [NDArrayHandle]-broadcast_greater args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_greater_upd ::-                      forall args . Fullfilled "broadcast_greater(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "broadcast_greater(ndarray)" args -> IO ()-broadcast_greater_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_greater_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_greater_equal ::-                        forall args . Fullfilled "broadcast_greater_equal(ndarray)" args =>-                          ArgsHMap "broadcast_greater_equal(ndarray)" args ->-                            IO [NDArrayHandle]-broadcast_greater_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_greater_equal_upd ::-                            forall args . Fullfilled "broadcast_greater_equal(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "broadcast_greater_equal(ndarray)" args -> IO ()-broadcast_greater_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_lesser(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_lesser ::-                 forall args . Fullfilled "broadcast_lesser(ndarray)" args =>-                   ArgsHMap "broadcast_lesser(ndarray)" args -> IO [NDArrayHandle]-broadcast_lesser args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_lesser_upd ::-                     forall args . Fullfilled "broadcast_lesser(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "broadcast_lesser(ndarray)" args -> IO ()-broadcast_lesser_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_lesser_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_lesser_equal ::-                       forall args . Fullfilled "broadcast_lesser_equal(ndarray)" args =>-                         ArgsHMap "broadcast_lesser_equal(ndarray)" args ->-                           IO [NDArrayHandle]-broadcast_lesser_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_lesser_equal_upd ::-                           forall args . Fullfilled "broadcast_lesser_equal(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "broadcast_lesser_equal(ndarray)" args -> IO ()-broadcast_lesser_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argmax(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--argmax ::-       forall args . Fullfilled "argmax(ndarray)" args =>-         ArgsHMap "argmax(ndarray)" args -> IO [NDArrayHandle]-argmax args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argmax_upd ::-           forall args . Fullfilled "argmax(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "argmax(ndarray)" args -> IO ()-argmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argmin(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--argmin ::-       forall args . Fullfilled "argmin(ndarray)" args =>-         ArgsHMap "argmin(ndarray)" args -> IO [NDArrayHandle]-argmin args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argmin_upd ::-           forall args . Fullfilled "argmin(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "argmin(ndarray)" args -> IO ()-argmin_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argmax_channel(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--argmax_channel ::-               forall args . Fullfilled "argmax_channel(ndarray)" args =>-                 ArgsHMap "argmax_channel(ndarray)" args -> IO [NDArrayHandle]-argmax_channel args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax_channel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argmax_channel_upd ::-                   forall args . Fullfilled "argmax_channel(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "argmax_channel(ndarray)" args -> IO ()-argmax_channel_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax_channel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "pick(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("index", AttrOpt NDArrayHandle)]--pick ::-     forall args . Fullfilled "pick(ndarray)" args =>-       ArgsHMap "pick(ndarray)" args -> IO [NDArrayHandle]-pick args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("index",) <$> (args !? #index :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--pick_upd ::-         forall args . Fullfilled "pick(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "pick(ndarray)" args -> IO ()-pick_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("index",) <$> (args !? #index :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_pick(ndarray)" = '[]--_backward_pick ::-               forall args . Fullfilled "_backward_pick(ndarray)" args =>-                 ArgsHMap "_backward_pick(ndarray)" args -> IO [NDArrayHandle]-_backward_pick args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_pick_upd ::-                   forall args . Fullfilled "_backward_pick(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_pick(ndarray)" args -> IO ()-_backward_pick_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sparse_retain(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--_sparse_retain ::-               forall args . Fullfilled "_sparse_retain(ndarray)" args =>-                 ArgsHMap "_sparse_retain(ndarray)" args -> IO [NDArrayHandle]-_sparse_retain args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sparse_retain_upd ::-                   forall args . Fullfilled "_sparse_retain(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_sparse_retain(ndarray)" args -> IO ()-_sparse_retain_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sparse_retain(ndarray)" =-     '[]--_backward_sparse_retain ::-                        forall args . Fullfilled "_backward_sparse_retain(ndarray)" args =>-                          ArgsHMap "_backward_sparse_retain(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_sparse_retain args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sparse_retain_upd ::-                            forall args . Fullfilled "_backward_sparse_retain(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_sparse_retain(ndarray)" args -> IO ()-_backward_sparse_retain_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_where(ndarray)" =-     '[ '("condition", AttrOpt NDArrayHandle),-        '("x", AttrOpt NDArrayHandle), '("y", AttrOpt NDArrayHandle)]--_where ::-       forall args . Fullfilled "_where(ndarray)" args =>-         ArgsHMap "_where(ndarray)" args -> IO [NDArrayHandle]-_where args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("condition",) <$> (args !? #condition :: Maybe NDArrayHandle),-               ("x",) <$> (args !? #x :: Maybe NDArrayHandle),-               ("y",) <$> (args !? #y :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_where_upd ::-           forall args . Fullfilled "_where(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_where(ndarray)" args -> IO ()-_where_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("condition",) <$> (args !? #condition :: Maybe NDArrayHandle),-               ("x",) <$> (args !? #x :: Maybe NDArrayHandle),-               ("y",) <$> (args !? #y :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_where(ndarray)" = '[]--_backward_where ::-                forall args . Fullfilled "_backward_where(ndarray)" args =>-                  ArgsHMap "_backward_where(ndarray)" args -> IO [NDArrayHandle]-_backward_where args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_where_upd ::-                    forall args . Fullfilled "_backward_where(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_where(ndarray)" args -> IO ()-_backward_where_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_maximum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_maximum_scalar ::-                forall args . Fullfilled "_maximum_scalar(ndarray)" args =>-                  ArgsHMap "_maximum_scalar(ndarray)" args -> IO [NDArrayHandle]-_maximum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_maximum_scalar_upd ::-                    forall args . Fullfilled "_maximum_scalar(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_maximum_scalar(ndarray)" args -> IO ()-_maximum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_maximum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_maximum_scalar ::-                         forall args .-                           Fullfilled "_backward_maximum_scalar(ndarray)" args =>-                           ArgsHMap "_backward_maximum_scalar(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_maximum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_maximum_scalar_upd ::-                             forall args .-                               Fullfilled "_backward_maximum_scalar(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_maximum_scalar(ndarray)" args -> IO ()-_backward_maximum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_minimum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_minimum_scalar ::-                forall args . Fullfilled "_minimum_scalar(ndarray)" args =>-                  ArgsHMap "_minimum_scalar(ndarray)" args -> IO [NDArrayHandle]-_minimum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_minimum_scalar_upd ::-                    forall args . Fullfilled "_minimum_scalar(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_minimum_scalar(ndarray)" args -> IO ()-_minimum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_minimum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_minimum_scalar ::-                         forall args .-                           Fullfilled "_backward_minimum_scalar(ndarray)" args =>-                           ArgsHMap "_backward_minimum_scalar(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_minimum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_minimum_scalar_upd ::-                             forall args .-                               Fullfilled "_backward_minimum_scalar(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_minimum_scalar(ndarray)" args -> IO ()-_backward_minimum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_power_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_power_scalar ::-              forall args . Fullfilled "_power_scalar(ndarray)" args =>-                ArgsHMap "_power_scalar(ndarray)" args -> IO [NDArrayHandle]-_power_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_power_scalar_upd ::-                  forall args . Fullfilled "_power_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_power_scalar(ndarray)" args -> IO ()-_power_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_power_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_power_scalar ::-                       forall args . Fullfilled "_backward_power_scalar(ndarray)" args =>-                         ArgsHMap "_backward_power_scalar(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_power_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_power_scalar_upd ::-                           forall args . Fullfilled "_backward_power_scalar(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_power_scalar(ndarray)" args -> IO ()-_backward_power_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rpower_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rpower_scalar ::-               forall args . Fullfilled "_rpower_scalar(ndarray)" args =>-                 ArgsHMap "_rpower_scalar(ndarray)" args -> IO [NDArrayHandle]-_rpower_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rpower_scalar_upd ::-                   forall args . Fullfilled "_rpower_scalar(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_rpower_scalar(ndarray)" args -> IO ()-_rpower_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rpower_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rpower_scalar ::-                        forall args . Fullfilled "_backward_rpower_scalar(ndarray)" args =>-                          ArgsHMap "_backward_rpower_scalar(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_rpower_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rpower_scalar_upd ::-                            forall args . Fullfilled "_backward_rpower_scalar(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_rpower_scalar(ndarray)" args -> IO ()-_backward_rpower_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_hypot_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_hypot_scalar ::-              forall args . Fullfilled "_hypot_scalar(ndarray)" args =>-                ArgsHMap "_hypot_scalar(ndarray)" args -> IO [NDArrayHandle]-_hypot_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_hypot_scalar_upd ::-                  forall args . Fullfilled "_hypot_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_hypot_scalar(ndarray)" args -> IO ()-_hypot_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_hypot_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_hypot_scalar ::-                       forall args . Fullfilled "_backward_hypot_scalar(ndarray)" args =>-                         ArgsHMap "_backward_hypot_scalar(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_hypot_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_hypot_scalar_upd ::-                           forall args . Fullfilled "_backward_hypot_scalar(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_hypot_scalar(ndarray)" args -> IO ()-_backward_hypot_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "smooth_l1(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--smooth_l1 ::-          forall args . Fullfilled "smooth_l1(ndarray)" args =>-            ArgsHMap "smooth_l1(ndarray)" args -> IO [NDArrayHandle]-smooth_l1 args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--smooth_l1_upd ::-              forall args . Fullfilled "smooth_l1(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "smooth_l1(ndarray)" args -> IO ()-smooth_l1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_smooth_l1(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_smooth_l1 ::-                    forall args . Fullfilled "_backward_smooth_l1(ndarray)" args =>-                      ArgsHMap "_backward_smooth_l1(ndarray)" args -> IO [NDArrayHandle]-_backward_smooth_l1 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_smooth_l1_upd ::-                        forall args . Fullfilled "_backward_smooth_l1(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_smooth_l1(ndarray)" args -> IO ()-_backward_smooth_l1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "topk(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("k", AttrOpt Int),-        '("ret_typ",-          AttrOpt (EnumType '["both", "indices", "mask", "value"])),-        '("is_ascend", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--topk ::-     forall args . Fullfilled "topk(ndarray)" args =>-       ArgsHMap "topk(ndarray)" args -> IO [NDArrayHandle]-topk args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ret_typ",) . showValue <$>-                 (args !? #ret_typ ::-                    Maybe (EnumType '["both", "indices", "mask", "value"])),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--topk_upd ::-         forall args . Fullfilled "topk(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "topk(ndarray)" args -> IO ()-topk_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ret_typ",) . showValue <$>-                 (args !? #ret_typ ::-                    Maybe (EnumType '["both", "indices", "mask", "value"])),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_topk(ndarray)" = '[]--_backward_topk ::-               forall args . Fullfilled "_backward_topk(ndarray)" args =>-                 ArgsHMap "_backward_topk(ndarray)" args -> IO [NDArrayHandle]-_backward_topk args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_topk_upd ::-                   forall args . Fullfilled "_backward_topk(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_topk(ndarray)" args -> IO ()-_backward_topk_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sort(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--sort ::-     forall args . Fullfilled "sort(ndarray)" args =>-       ArgsHMap "sort(ndarray)" args -> IO [NDArrayHandle]-sort args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sort_upd ::-         forall args . Fullfilled "sort(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sort(ndarray)" args -> IO ()-sort_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argsort(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--argsort ::-        forall args . Fullfilled "argsort(ndarray)" args =>-          ArgsHMap "argsort(ndarray)" args -> IO [NDArrayHandle]-argsort args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argsort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argsort_upd ::-            forall args . Fullfilled "argsort(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "argsort(ndarray)" args -> IO ()-argsort_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argsort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Reshape(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("reverse", AttrOpt Bool),-        '("target_shape", AttrOpt [Int]), '("keep_highest", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--_Reshape ::-         forall args . Fullfilled "_Reshape(ndarray)" args =>-           ArgsHMap "_Reshape(ndarray)" args -> IO [NDArrayHandle]-_Reshape args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("keep_highest",) . showValue <$>-                 (args !? #keep_highest :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Reshape"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Reshape_upd ::-             forall args . Fullfilled "_Reshape(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Reshape(ndarray)" args -> IO ()-_Reshape_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("keep_highest",) . showValue <$>-                 (args !? #keep_highest :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Reshape"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Flatten(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_Flatten ::-         forall args . Fullfilled "_Flatten(ndarray)" args =>-           ArgsHMap "_Flatten(ndarray)" args -> IO [NDArrayHandle]-_Flatten args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Flatten_upd ::-             forall args . Fullfilled "_Flatten(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Flatten(ndarray)" args -> IO ()-_Flatten_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "transpose(ndarray)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--transpose ::-          forall args . Fullfilled "transpose(ndarray)" args =>-            ArgsHMap "transpose(ndarray)" args -> IO [NDArrayHandle]-transpose args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "transpose"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--transpose_upd ::-              forall args . Fullfilled "transpose(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "transpose(ndarray)" args -> IO ()-transpose_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "transpose"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "expand_dims(ndarray)" =-     '[ '("axis", AttrReq Int), '("data", AttrOpt NDArrayHandle)]--expand_dims ::-            forall args . Fullfilled "expand_dims(ndarray)" args =>-              ArgsHMap "expand_dims(ndarray)" args -> IO [NDArrayHandle]-expand_dims args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expand_dims"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--expand_dims_upd ::-                forall args . Fullfilled "expand_dims(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "expand_dims(ndarray)" args -> IO ()-expand_dims_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expand_dims"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "slice(ndarray)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--slice ::-      forall args . Fullfilled "slice(ndarray)" args =>-        ArgsHMap "slice(ndarray)" args -> IO [NDArrayHandle]-slice args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--slice_upd ::-          forall args . Fullfilled "slice(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "slice(ndarray)" args -> IO ()-slice_upd outputs args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_slice(ndarray)" = '[]--_backward_slice ::-                forall args . Fullfilled "_backward_slice(ndarray)" args =>-                  ArgsHMap "_backward_slice(ndarray)" args -> IO [NDArrayHandle]-_backward_slice args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_slice_upd ::-                    forall args . Fullfilled "_backward_slice(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_slice(ndarray)" args -> IO ()-_backward_slice_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_slice_assign(ndarray)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_slice_assign ::-              forall args . Fullfilled "_slice_assign(ndarray)" args =>-                ArgsHMap "_slice_assign(ndarray)" args -> IO [NDArrayHandle]-_slice_assign args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_slice_assign_upd ::-                  forall args . Fullfilled "_slice_assign(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_slice_assign(ndarray)" args -> IO ()-_slice_assign_upd outputs args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_slice_assign_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("begin", AttrReq [Int]),-        '("end", AttrReq [Int]), '("step", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--_slice_assign_scalar ::-                     forall args . Fullfilled "_slice_assign_scalar(ndarray)" args =>-                       ArgsHMap "_slice_assign_scalar(ndarray)" args -> IO [NDArrayHandle]-_slice_assign_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float),-               ("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_slice_assign_scalar_upd ::-                         forall args . Fullfilled "_slice_assign_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_slice_assign_scalar(ndarray)" args -> IO ()-_slice_assign_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float),-               ("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "slice_axis(ndarray)" =-     '[ '("axis", AttrReq Int), '("begin", AttrReq Int),-        '("end", AttrReq (Maybe Int)), '("data", AttrOpt NDArrayHandle)]--slice_axis ::-           forall args . Fullfilled "slice_axis(ndarray)" args =>-             ArgsHMap "slice_axis(ndarray)" args -> IO [NDArrayHandle]-slice_axis args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("begin",) . showValue <$> (args !? #begin :: Maybe Int),-               ("end",) . showValue <$> (args !? #end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--slice_axis_upd ::-               forall args . Fullfilled "slice_axis(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "slice_axis(ndarray)" args -> IO ()-slice_axis_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("begin",) . showValue <$> (args !? #begin :: Maybe Int),-               ("end",) . showValue <$> (args !? #end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_slice_axis(ndarray)" = '[]--_backward_slice_axis ::-                     forall args . Fullfilled "_backward_slice_axis(ndarray)" args =>-                       ArgsHMap "_backward_slice_axis(ndarray)" args -> IO [NDArrayHandle]-_backward_slice_axis args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_slice_axis_upd ::-                         forall args . Fullfilled "_backward_slice_axis(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_slice_axis(ndarray)" args -> IO ()-_backward_slice_axis_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "clip(ndarray)" =-     '[ '("a_min", AttrReq Float), '("a_max", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--clip ::-     forall args . Fullfilled "clip(ndarray)" args =>-       ArgsHMap "clip(ndarray)" args -> IO [NDArrayHandle]-clip args-  = let scalarArgs-          = catMaybes-              [("a_min",) . showValue <$> (args !? #a_min :: Maybe Float),-               ("a_max",) . showValue <$> (args !? #a_max :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--clip_upd ::-         forall args . Fullfilled "clip(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "clip(ndarray)" args -> IO ()-clip_upd outputs args-  = let scalarArgs-          = catMaybes-              [("a_min",) . showValue <$> (args !? #a_min :: Maybe Float),-               ("a_max",) . showValue <$> (args !? #a_max :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_clip(ndarray)" = '[]--_backward_clip ::-               forall args . Fullfilled "_backward_clip(ndarray)" args =>-                 ArgsHMap "_backward_clip(ndarray)" args -> IO [NDArrayHandle]-_backward_clip args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_clip_upd ::-                   forall args . Fullfilled "_backward_clip(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_clip(ndarray)" args -> IO ()-_backward_clip_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "repeat(ndarray)" =-     '[ '("repeats", AttrReq Int), '("axis", AttrOpt (Maybe Int)),-        '("data", AttrOpt NDArrayHandle)]--repeat ::-       forall args . Fullfilled "repeat(ndarray)" args =>-         ArgsHMap "repeat(ndarray)" args -> IO [NDArrayHandle]-repeat args-  = let scalarArgs-          = catMaybes-              [("repeats",) . showValue <$> (args !? #repeats :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--repeat_upd ::-           forall args . Fullfilled "repeat(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "repeat(ndarray)" args -> IO ()-repeat_upd outputs args-  = let scalarArgs-          = catMaybes-              [("repeats",) . showValue <$> (args !? #repeats :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_repeat(ndarray)" = '[]--_backward_repeat ::-                 forall args . Fullfilled "_backward_repeat(ndarray)" args =>-                   ArgsHMap "_backward_repeat(ndarray)" args -> IO [NDArrayHandle]-_backward_repeat args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_repeat_upd ::-                     forall args . Fullfilled "_backward_repeat(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_repeat(ndarray)" args -> IO ()-_backward_repeat_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "tile(ndarray)" =-     '[ '("reps", AttrReq [Int]), '("data", AttrOpt NDArrayHandle)]--tile ::-     forall args . Fullfilled "tile(ndarray)" args =>-       ArgsHMap "tile(ndarray)" args -> IO [NDArrayHandle]-tile args-  = let scalarArgs-          = catMaybes-              [("reps",) . showValue <$> (args !? #reps :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--tile_upd ::-         forall args . Fullfilled "tile(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "tile(ndarray)" args -> IO ()-tile_upd outputs args-  = let scalarArgs-          = catMaybes-              [("reps",) . showValue <$> (args !? #reps :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_tile(ndarray)" = '[]--_backward_tile ::-               forall args . Fullfilled "_backward_tile(ndarray)" args =>-                 ArgsHMap "_backward_tile(ndarray)" args -> IO [NDArrayHandle]-_backward_tile args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_tile_upd ::-                   forall args . Fullfilled "_backward_tile(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_tile(ndarray)" args -> IO ()-_backward_tile_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "reverse(ndarray)" =-     '[ '("axis", AttrReq [Int]), '("data", AttrOpt NDArrayHandle)]--reverse ::-        forall args . Fullfilled "reverse(ndarray)" args =>-          ArgsHMap "reverse(ndarray)" args -> IO [NDArrayHandle]-reverse args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--reverse_upd ::-            forall args . Fullfilled "reverse(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "reverse(ndarray)" args -> IO ()-reverse_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_reverse(ndarray)" = '[]--_backward_reverse ::-                  forall args . Fullfilled "_backward_reverse(ndarray)" args =>-                    ArgsHMap "_backward_reverse(ndarray)" args -> IO [NDArrayHandle]-_backward_reverse args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_reverse_upd ::-                      forall args . Fullfilled "_backward_reverse(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_reverse(ndarray)" args -> IO ()-_backward_reverse_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "stack(ndarray)" =-     '[ '("axis", AttrOpt Int), '("num_args", AttrReq Int),-        '("data", AttrOpt [NDArrayHandle])]--stack ::-      forall args . Fullfilled "stack(ndarray)" args =>-        ArgsHMap "stack(ndarray)" args -> IO [NDArrayHandle]-stack args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "stack"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--stack_upd ::-          forall args . Fullfilled "stack(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "stack(ndarray)" args -> IO ()-stack_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "stack"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_stack(ndarray)" = '[]--_backward_stack ::-                forall args . Fullfilled "_backward_stack(ndarray)" args =>-                  ArgsHMap "_backward_stack(ndarray)" args -> IO [NDArrayHandle]-_backward_stack args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_stack"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_stack_upd ::-                    forall args . Fullfilled "_backward_stack(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_stack(ndarray)" args -> IO ()-_backward_stack_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_stack"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "dot(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("lhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--dot ::-    forall args . Fullfilled "dot(ndarray)" args =>-      ArgsHMap "dot(ndarray)" args -> IO [NDArrayHandle]-dot args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--dot_upd ::-        forall args . Fullfilled "dot(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "dot(ndarray)" args -> IO ()-dot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_dot(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool)]--_backward_dot ::-              forall args . Fullfilled "_backward_dot(ndarray)" args =>-                ArgsHMap "_backward_dot(ndarray)" args -> IO [NDArrayHandle]-_backward_dot args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_dot_upd ::-                  forall args . Fullfilled "_backward_dot(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_dot(ndarray)" args -> IO ()-_backward_dot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "batch_dot(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("lhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--batch_dot ::-          forall args . Fullfilled "batch_dot(ndarray)" args =>-            ArgsHMap "batch_dot(ndarray)" args -> IO [NDArrayHandle]-batch_dot args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--batch_dot_upd ::-              forall args . Fullfilled "batch_dot(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "batch_dot(ndarray)" args -> IO ()-batch_dot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_batch_dot(ndarray)" = '[]--_backward_batch_dot ::-                    forall args . Fullfilled "_backward_batch_dot(ndarray)" args =>-                      ArgsHMap "_backward_batch_dot(ndarray)" args -> IO [NDArrayHandle]-_backward_batch_dot args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_batch_dot_upd ::-                        forall args . Fullfilled "_backward_batch_dot(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_batch_dot(ndarray)" args -> IO ()-_backward_batch_dot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sin(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sin ::-    forall args . Fullfilled "sin(ndarray)" args =>-      ArgsHMap "sin(ndarray)" args -> IO [NDArrayHandle]-sin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sin_upd ::-        forall args . Fullfilled "sin(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "sin(ndarray)" args -> IO ()-sin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sin(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sin ::-              forall args . Fullfilled "_backward_sin(ndarray)" args =>-                ArgsHMap "_backward_sin(ndarray)" args -> IO [NDArrayHandle]-_backward_sin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sin_upd ::-                  forall args . Fullfilled "_backward_sin(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_sin(ndarray)" args -> IO ()-_backward_sin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cos(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--cos ::-    forall args . Fullfilled "cos(ndarray)" args =>-      ArgsHMap "cos(ndarray)" args -> IO [NDArrayHandle]-cos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cos_upd ::-        forall args . Fullfilled "cos(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "cos(ndarray)" args -> IO ()-cos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cos(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_cos ::-              forall args . Fullfilled "_backward_cos(ndarray)" args =>-                ArgsHMap "_backward_cos(ndarray)" args -> IO [NDArrayHandle]-_backward_cos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cos_upd ::-                  forall args . Fullfilled "_backward_cos(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_cos(ndarray)" args -> IO ()-_backward_cos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "tan(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--tan ::-    forall args . Fullfilled "tan(ndarray)" args =>-      ArgsHMap "tan(ndarray)" args -> IO [NDArrayHandle]-tan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--tan_upd ::-        forall args . Fullfilled "tan(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "tan(ndarray)" args -> IO ()-tan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_tan(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_tan ::-              forall args . Fullfilled "_backward_tan(ndarray)" args =>-                ArgsHMap "_backward_tan(ndarray)" args -> IO [NDArrayHandle]-_backward_tan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_tan_upd ::-                  forall args . Fullfilled "_backward_tan(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_tan(ndarray)" args -> IO ()-_backward_tan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arcsin(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arcsin ::-       forall args . Fullfilled "arcsin(ndarray)" args =>-         ArgsHMap "arcsin(ndarray)" args -> IO [NDArrayHandle]-arcsin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arcsin_upd ::-           forall args . Fullfilled "arcsin(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "arcsin(ndarray)" args -> IO ()-arcsin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arcsin(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arcsin ::-                 forall args . Fullfilled "_backward_arcsin(ndarray)" args =>-                   ArgsHMap "_backward_arcsin(ndarray)" args -> IO [NDArrayHandle]-_backward_arcsin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arcsin_upd ::-                     forall args . Fullfilled "_backward_arcsin(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_arcsin(ndarray)" args -> IO ()-_backward_arcsin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arccos(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arccos ::-       forall args . Fullfilled "arccos(ndarray)" args =>-         ArgsHMap "arccos(ndarray)" args -> IO [NDArrayHandle]-arccos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arccos_upd ::-           forall args . Fullfilled "arccos(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "arccos(ndarray)" args -> IO ()-arccos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arccos(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arccos ::-                 forall args . Fullfilled "_backward_arccos(ndarray)" args =>-                   ArgsHMap "_backward_arccos(ndarray)" args -> IO [NDArrayHandle]-_backward_arccos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arccos_upd ::-                     forall args . Fullfilled "_backward_arccos(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_arccos(ndarray)" args -> IO ()-_backward_arccos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arctan(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arctan ::-       forall args . Fullfilled "arctan(ndarray)" args =>-         ArgsHMap "arctan(ndarray)" args -> IO [NDArrayHandle]-arctan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arctan_upd ::-           forall args . Fullfilled "arctan(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "arctan(ndarray)" args -> IO ()-arctan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arctan(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arctan ::-                 forall args . Fullfilled "_backward_arctan(ndarray)" args =>-                   ArgsHMap "_backward_arctan(ndarray)" args -> IO [NDArrayHandle]-_backward_arctan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arctan_upd ::-                     forall args . Fullfilled "_backward_arctan(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_arctan(ndarray)" args -> IO ()-_backward_arctan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "degrees(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--degrees ::-        forall args . Fullfilled "degrees(ndarray)" args =>-          ArgsHMap "degrees(ndarray)" args -> IO [NDArrayHandle]-degrees args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--degrees_upd ::-            forall args . Fullfilled "degrees(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "degrees(ndarray)" args -> IO ()-degrees_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_degrees(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_degrees ::-                  forall args . Fullfilled "_backward_degrees(ndarray)" args =>-                    ArgsHMap "_backward_degrees(ndarray)" args -> IO [NDArrayHandle]-_backward_degrees args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_degrees_upd ::-                      forall args . Fullfilled "_backward_degrees(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_degrees(ndarray)" args -> IO ()-_backward_degrees_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "radians(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--radians ::-        forall args . Fullfilled "radians(ndarray)" args =>-          ArgsHMap "radians(ndarray)" args -> IO [NDArrayHandle]-radians args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--radians_upd ::-            forall args . Fullfilled "radians(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "radians(ndarray)" args -> IO ()-radians_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_radians(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_radians ::-                  forall args . Fullfilled "_backward_radians(ndarray)" args =>-                    ArgsHMap "_backward_radians(ndarray)" args -> IO [NDArrayHandle]-_backward_radians args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_radians_upd ::-                      forall args . Fullfilled "_backward_radians(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_radians(ndarray)" args -> IO ()-_backward_radians_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sinh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sinh ::-     forall args . Fullfilled "sinh(ndarray)" args =>-       ArgsHMap "sinh(ndarray)" args -> IO [NDArrayHandle]-sinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sinh_upd ::-         forall args . Fullfilled "sinh(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sinh(ndarray)" args -> IO ()-sinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sinh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sinh ::-               forall args . Fullfilled "_backward_sinh(ndarray)" args =>-                 ArgsHMap "_backward_sinh(ndarray)" args -> IO [NDArrayHandle]-_backward_sinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sinh_upd ::-                   forall args . Fullfilled "_backward_sinh(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_sinh(ndarray)" args -> IO ()-_backward_sinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cosh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--cosh ::-     forall args . Fullfilled "cosh(ndarray)" args =>-       ArgsHMap "cosh(ndarray)" args -> IO [NDArrayHandle]-cosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cosh_upd ::-         forall args . Fullfilled "cosh(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "cosh(ndarray)" args -> IO ()-cosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cosh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_cosh ::-               forall args . Fullfilled "_backward_cosh(ndarray)" args =>-                 ArgsHMap "_backward_cosh(ndarray)" args -> IO [NDArrayHandle]-_backward_cosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cosh_upd ::-                   forall args . Fullfilled "_backward_cosh(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cosh(ndarray)" args -> IO ()-_backward_cosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "tanh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--tanh ::-     forall args . Fullfilled "tanh(ndarray)" args =>-       ArgsHMap "tanh(ndarray)" args -> IO [NDArrayHandle]-tanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--tanh_upd ::-         forall args . Fullfilled "tanh(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "tanh(ndarray)" args -> IO ()-tanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_tanh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_tanh ::-               forall args . Fullfilled "_backward_tanh(ndarray)" args =>-                 ArgsHMap "_backward_tanh(ndarray)" args -> IO [NDArrayHandle]-_backward_tanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_tanh_upd ::-                   forall args . Fullfilled "_backward_tanh(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_tanh(ndarray)" args -> IO ()-_backward_tanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arcsinh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arcsinh ::-        forall args . Fullfilled "arcsinh(ndarray)" args =>-          ArgsHMap "arcsinh(ndarray)" args -> IO [NDArrayHandle]-arcsinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arcsinh_upd ::-            forall args . Fullfilled "arcsinh(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "arcsinh(ndarray)" args -> IO ()-arcsinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arcsinh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arcsinh ::-                  forall args . Fullfilled "_backward_arcsinh(ndarray)" args =>-                    ArgsHMap "_backward_arcsinh(ndarray)" args -> IO [NDArrayHandle]-_backward_arcsinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arcsinh_upd ::-                      forall args . Fullfilled "_backward_arcsinh(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_arcsinh(ndarray)" args -> IO ()-_backward_arcsinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arccosh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arccosh ::-        forall args . Fullfilled "arccosh(ndarray)" args =>-          ArgsHMap "arccosh(ndarray)" args -> IO [NDArrayHandle]-arccosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arccosh_upd ::-            forall args . Fullfilled "arccosh(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "arccosh(ndarray)" args -> IO ()-arccosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arccosh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arccosh ::-                  forall args . Fullfilled "_backward_arccosh(ndarray)" args =>-                    ArgsHMap "_backward_arccosh(ndarray)" args -> IO [NDArrayHandle]-_backward_arccosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arccosh_upd ::-                      forall args . Fullfilled "_backward_arccosh(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_arccosh(ndarray)" args -> IO ()-_backward_arccosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arctanh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arctanh ::-        forall args . Fullfilled "arctanh(ndarray)" args =>-          ArgsHMap "arctanh(ndarray)" args -> IO [NDArrayHandle]-arctanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arctanh_upd ::-            forall args . Fullfilled "arctanh(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "arctanh(ndarray)" args -> IO ()-arctanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arctanh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arctanh ::-                  forall args . Fullfilled "_backward_arctanh(ndarray)" args =>-                    ArgsHMap "_backward_arctanh(ndarray)" args -> IO [NDArrayHandle]-_backward_arctanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arctanh_upd ::-                      forall args . Fullfilled "_backward_arctanh(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_arctanh(ndarray)" args -> IO ()-_backward_arctanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_dequantize(ndarray)" =-     '[ '("out_type", AttrReq (EnumType '["float32"])),-        '("input", AttrOpt NDArrayHandle),-        '("min_range", AttrOpt NDArrayHandle),-        '("max_range", AttrOpt NDArrayHandle)]--_contrib_dequantize ::-                    forall args . Fullfilled "_contrib_dequantize(ndarray)" args =>-                      ArgsHMap "_contrib_dequantize(ndarray)" args -> IO [NDArrayHandle]-_contrib_dequantize args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["float32"]))]-        tensorArgs-          = catMaybes-              [("input",) <$> (args !? #input :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dequantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_dequantize_upd ::-                        forall args . Fullfilled "_contrib_dequantize(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_contrib_dequantize(ndarray)" args -> IO ()-_contrib_dequantize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["float32"]))]-        tensorArgs-          = catMaybes-              [("input",) <$> (args !? #input :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dequantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_CTCLoss(ndarray)" =-     '[ '("use_data_lengths", AttrOpt Bool),-        '("use_label_lengths", AttrOpt Bool),-        '("blank_label", AttrOpt (EnumType '["first", "last"])),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle),-        '("data_lengths", AttrOpt NDArrayHandle),-        '("label_lengths", AttrOpt NDArrayHandle)]--_contrib_CTCLoss ::-                 forall args . Fullfilled "_contrib_CTCLoss(ndarray)" args =>-                   ArgsHMap "_contrib_CTCLoss(ndarray)" args -> IO [NDArrayHandle]-_contrib_CTCLoss args-  = let scalarArgs-          = catMaybes-              [("use_data_lengths",) . showValue <$>-                 (args !? #use_data_lengths :: Maybe Bool),-               ("use_label_lengths",) . showValue <$>-                 (args !? #use_label_lengths :: Maybe Bool),-               ("blank_label",) . showValue <$>-                 (args !? #blank_label :: Maybe (EnumType '["first", "last"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("data_lengths",) <$>-                 (args !? #data_lengths :: Maybe NDArrayHandle),-               ("label_lengths",) <$>-                 (args !? #label_lengths :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_CTCLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_CTCLoss_upd ::-                     forall args . Fullfilled "_contrib_CTCLoss(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_contrib_CTCLoss(ndarray)" args -> IO ()-_contrib_CTCLoss_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_data_lengths",) . showValue <$>-                 (args !? #use_data_lengths :: Maybe Bool),-               ("use_label_lengths",) . showValue <$>-                 (args !? #use_label_lengths :: Maybe Bool),-               ("blank_label",) . showValue <$>-                 (args !? #blank_label :: Maybe (EnumType '["first", "last"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("data_lengths",) <$>-                 (args !? #data_lengths :: Maybe NDArrayHandle),-               ("label_lengths",) <$>-                 (args !? #label_lengths :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_CTCLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantize(ndarray)" =-     '[ '("out_type", AttrOpt (EnumType '["uint8"])),-        '("input", AttrOpt NDArrayHandle),-        '("min_range", AttrOpt NDArrayHandle),-        '("max_range", AttrOpt NDArrayHandle)]--_contrib_quantize ::-                  forall args . Fullfilled "_contrib_quantize(ndarray)" args =>-                    ArgsHMap "_contrib_quantize(ndarray)" args -> IO [NDArrayHandle]-_contrib_quantize args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["uint8"]))]-        tensorArgs-          = catMaybes-              [("input",) <$> (args !? #input :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantize_upd ::-                      forall args . Fullfilled "_contrib_quantize(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_contrib_quantize(ndarray)" args -> IO ()-_contrib_quantize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["uint8"]))]-        tensorArgs-          = catMaybes-              [("input",) <$> (args !? #input :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Custom(ndarray)" = '[]--_backward_Custom ::-                 forall args . Fullfilled "_backward_Custom(ndarray)" args =>-                   ArgsHMap "_backward_Custom(ndarray)" args -> IO [NDArrayHandle]-_backward_Custom args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Custom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Custom_upd ::-                     forall args . Fullfilled "_backward_Custom(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_Custom(ndarray)" args -> IO ()-_backward_Custom_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Custom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_multinomial(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("get_prob", AttrOpt Bool),-        '("dtype", AttrOpt (EnumType '["int32"])),-        '("data", AttrOpt NDArrayHandle)]--_sample_multinomial ::-                    forall args . Fullfilled "_sample_multinomial(ndarray)" args =>-                      ArgsHMap "_sample_multinomial(ndarray)" args -> IO [NDArrayHandle]-_sample_multinomial args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("get_prob",) . showValue <$> (args !? #get_prob :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype :: Maybe (EnumType '["int32"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_multinomial_upd ::-                        forall args . Fullfilled "_sample_multinomial(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_sample_multinomial(ndarray)" args -> IO ()-_sample_multinomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("get_prob",) . showValue <$> (args !? #get_prob :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype :: Maybe (EnumType '["int32"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sample_multinomial(ndarray)"-     = '[]--_backward_sample_multinomial ::-                             forall args .-                               Fullfilled "_backward_sample_multinomial(ndarray)" args =>-                               ArgsHMap "_backward_sample_multinomial(ndarray)" args ->-                                 IO [NDArrayHandle]-_backward_sample_multinomial args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sample_multinomial_upd ::-                                 forall args .-                                   Fullfilled "_backward_sample_multinomial(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_backward_sample_multinomial(ndarray)" args -> IO ()-_backward_sample_multinomial_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_uniform(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("low", AttrOpt NDArrayHandle), '("high", AttrOpt NDArrayHandle)]--_sample_uniform ::-                forall args . Fullfilled "_sample_uniform(ndarray)" args =>-                  ArgsHMap "_sample_uniform(ndarray)" args -> IO [NDArrayHandle]-_sample_uniform args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("low",) <$> (args !? #low :: Maybe NDArrayHandle),-               ("high",) <$> (args !? #high :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_uniform_upd ::-                    forall args . Fullfilled "_sample_uniform(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_sample_uniform(ndarray)" args -> IO ()-_sample_uniform_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("low",) <$> (args !? #low :: Maybe NDArrayHandle),-               ("high",) <$> (args !? #high :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_normal(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt NDArrayHandle), '("sigma", AttrOpt NDArrayHandle)]--_sample_normal ::-               forall args . Fullfilled "_sample_normal(ndarray)" args =>-                 ArgsHMap "_sample_normal(ndarray)" args -> IO [NDArrayHandle]-_sample_normal args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("sigma",) <$> (args !? #sigma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_normal_upd ::-                   forall args . Fullfilled "_sample_normal(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_sample_normal(ndarray)" args -> IO ()-_sample_normal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("sigma",) <$> (args !? #sigma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_gamma(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("alpha", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_sample_gamma ::-              forall args . Fullfilled "_sample_gamma(ndarray)" args =>-                ArgsHMap "_sample_gamma(ndarray)" args -> IO [NDArrayHandle]-_sample_gamma args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_gamma_upd ::-                  forall args . Fullfilled "_sample_gamma(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_sample_gamma(ndarray)" args -> IO ()-_sample_gamma_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_exponential(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt NDArrayHandle)]--_sample_exponential ::-                    forall args . Fullfilled "_sample_exponential(ndarray)" args =>-                      ArgsHMap "_sample_exponential(ndarray)" args -> IO [NDArrayHandle]-_sample_exponential args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_exponential_upd ::-                        forall args . Fullfilled "_sample_exponential(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_sample_exponential(ndarray)" args -> IO ()-_sample_exponential_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_poisson(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt NDArrayHandle)]--_sample_poisson ::-                forall args . Fullfilled "_sample_poisson(ndarray)" args =>-                  ArgsHMap "_sample_poisson(ndarray)" args -> IO [NDArrayHandle]-_sample_poisson args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_poisson_upd ::-                    forall args . Fullfilled "_sample_poisson(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_sample_poisson(ndarray)" args -> IO ()-_sample_poisson_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_negative_binomial(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("k", AttrOpt NDArrayHandle), '("p", AttrOpt NDArrayHandle)]--_sample_negative_binomial ::-                          forall args .-                            Fullfilled "_sample_negative_binomial(ndarray)" args =>-                            ArgsHMap "_sample_negative_binomial(ndarray)" args ->-                              IO [NDArrayHandle]-_sample_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("k",) <$> (args !? #k :: Maybe NDArrayHandle),-               ("p",) <$> (args !? #p :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_negative_binomial_upd ::-                              forall args .-                                Fullfilled "_sample_negative_binomial(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_sample_negative_binomial(ndarray)" args -> IO ()-_sample_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("k",) <$> (args !? #k :: Maybe NDArrayHandle),-               ("p",) <$> (args !? #p :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_sample_generalized_negative_binomial(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt NDArrayHandle), '("alpha", AttrOpt NDArrayHandle)]--_sample_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_sample_generalized_negative_binomial(ndarray)"-                                          args =>-                                        ArgsHMap "_sample_generalized_negative_binomial(ndarray)"-                                          args-                                          -> IO [NDArrayHandle]-_sample_generalized_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_generalized_negative_binomial_upd ::-                                          forall args .-                                            Fullfilled-                                              "_sample_generalized_negative_binomial(ndarray)"-                                              args =>-                                            [NDArrayHandle] ->-                                              ArgsHMap-                                                "_sample_generalized_negative_binomial(ndarray)"-                                                args-                                                -> IO ()-_sample_generalized_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_uniform(ndarray)" =-     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_uniform ::-                forall args . Fullfilled "_random_uniform(ndarray)" args =>-                  ArgsHMap "_random_uniform(ndarray)" args -> IO [NDArrayHandle]-_random_uniform args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_uniform_upd ::-                    forall args . Fullfilled "_random_uniform(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_random_uniform(ndarray)" args -> IO ()-_random_uniform_upd outputs args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_normal(ndarray)" =-     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_normal ::-               forall args . Fullfilled "_random_normal(ndarray)" args =>-                 ArgsHMap "_random_normal(ndarray)" args -> IO [NDArrayHandle]-_random_normal args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_normal_upd ::-                   forall args . Fullfilled "_random_normal(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_random_normal(ndarray)" args -> IO ()-_random_normal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_gamma(ndarray)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_gamma ::-              forall args . Fullfilled "_random_gamma(ndarray)" args =>-                ArgsHMap "_random_gamma(ndarray)" args -> IO [NDArrayHandle]-_random_gamma args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_gamma_upd ::-                  forall args . Fullfilled "_random_gamma(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_random_gamma(ndarray)" args -> IO ()-_random_gamma_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_exponential(ndarray)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_exponential ::-                    forall args . Fullfilled "_random_exponential(ndarray)" args =>-                      ArgsHMap "_random_exponential(ndarray)" args -> IO [NDArrayHandle]-_random_exponential args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_exponential_upd ::-                        forall args . Fullfilled "_random_exponential(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_random_exponential(ndarray)" args -> IO ()-_random_exponential_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_poisson(ndarray)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_poisson ::-                forall args . Fullfilled "_random_poisson(ndarray)" args =>-                  ArgsHMap "_random_poisson(ndarray)" args -> IO [NDArrayHandle]-_random_poisson args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_poisson_upd ::-                    forall args . Fullfilled "_random_poisson(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_random_poisson(ndarray)" args -> IO ()-_random_poisson_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_negative_binomial(ndarray)" =-     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_negative_binomial ::-                          forall args .-                            Fullfilled "_random_negative_binomial(ndarray)" args =>-                            ArgsHMap "_random_negative_binomial(ndarray)" args ->-                              IO [NDArrayHandle]-_random_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_negative_binomial_upd ::-                              forall args .-                                Fullfilled "_random_negative_binomial(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_random_negative_binomial(ndarray)" args -> IO ()-_random_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_random_generalized_negative_binomial(ndarray)" =-     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_random_generalized_negative_binomial(ndarray)"-                                          args =>-                                        ArgsHMap "_random_generalized_negative_binomial(ndarray)"-                                          args-                                          -> IO [NDArrayHandle]-_random_generalized_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_generalized_negative_binomial_upd ::-                                          forall args .-                                            Fullfilled-                                              "_random_generalized_negative_binomial(ndarray)"-                                              args =>-                                            [NDArrayHandle] ->-                                              ArgsHMap-                                                "_random_generalized_negative_binomial(ndarray)"-                                                args-                                                -> IO ()-_random_generalized_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "softmax(ndarray)" =-     '[ '("axis", AttrOpt Int), '("data", AttrOpt NDArrayHandle)]--softmax ::-        forall args . Fullfilled "softmax(ndarray)" args =>-          ArgsHMap "softmax(ndarray)" args -> IO [NDArrayHandle]-softmax args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--softmax_upd ::-            forall args . Fullfilled "softmax(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "softmax(ndarray)" args -> IO ()-softmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_softmax(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_softmax ::-                  forall args . Fullfilled "_backward_softmax(ndarray)" args =>-                    ArgsHMap "_backward_softmax(ndarray)" args -> IO [NDArrayHandle]-_backward_softmax args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_softmax_upd ::-                      forall args . Fullfilled "_backward_softmax(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_softmax(ndarray)" args -> IO ()-_backward_softmax_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log_softmax(ndarray)" =-     '[ '("axis", AttrOpt Int), '("data", AttrOpt NDArrayHandle)]--log_softmax ::-            forall args . Fullfilled "log_softmax(ndarray)" args =>-              ArgsHMap "log_softmax(ndarray)" args -> IO [NDArrayHandle]-log_softmax args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log_softmax_upd ::-                forall args . Fullfilled "log_softmax(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "log_softmax(ndarray)" args -> IO ()-log_softmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log_softmax(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log_softmax ::-                      forall args . Fullfilled "_backward_log_softmax(ndarray)" args =>-                        ArgsHMap "_backward_log_softmax(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_log_softmax args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log_softmax_upd ::-                          forall args . Fullfilled "_backward_log_softmax(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_log_softmax(ndarray)" args -> IO ()-_backward_log_softmax_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvimdecode(ndarray)" =-     '[ '("flag", AttrOpt Int), '("to_rgb", AttrOpt Bool),-        '("buf", AttrOpt NDArrayHandle)]--_cvimdecode ::-            forall args . Fullfilled "_cvimdecode(ndarray)" args =>-              ArgsHMap "_cvimdecode(ndarray)" args -> IO [NDArrayHandle]-_cvimdecode args-  = let scalarArgs-          = catMaybes-              [("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs-          = catMaybes [("buf",) <$> (args !? #buf :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvimdecode_upd ::-                forall args . Fullfilled "_cvimdecode(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_cvimdecode(ndarray)" args -> IO ()-_cvimdecode_upd outputs args-  = let scalarArgs-          = catMaybes-              [("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs-          = catMaybes [("buf",) <$> (args !? #buf :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvimread(ndarray)" =-     '[ '("filename", AttrReq String), '("flag", AttrOpt Int),-        '("to_rgb", AttrOpt Bool)]--_cvimread ::-          forall args . Fullfilled "_cvimread(ndarray)" args =>-            ArgsHMap "_cvimread(ndarray)" args -> IO [NDArrayHandle]-_cvimread args-  = let scalarArgs-          = catMaybes-              [("filename",) . showValue <$> (args !? #filename :: Maybe String),-               ("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimread"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvimread_upd ::-              forall args . Fullfilled "_cvimread(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_cvimread(ndarray)" args -> IO ()-_cvimread_upd outputs args-  = let scalarArgs-          = catMaybes-              [("filename",) . showValue <$> (args !? #filename :: Maybe String),-               ("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimread"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvimresize(ndarray)" =-     '[ '("w", AttrReq Int), '("h", AttrReq Int),-        '("interp", AttrOpt Int), '("src", AttrOpt NDArrayHandle)]--_cvimresize ::-            forall args . Fullfilled "_cvimresize(ndarray)" args =>-              ArgsHMap "_cvimresize(ndarray)" args -> IO [NDArrayHandle]-_cvimresize args-  = let scalarArgs-          = catMaybes-              [("w",) . showValue <$> (args !? #w :: Maybe Int),-               ("h",) . showValue <$> (args !? #h :: Maybe Int),-               ("interp",) . showValue <$> (args !? #interp :: Maybe Int)]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimresize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvimresize_upd ::-                forall args . Fullfilled "_cvimresize(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_cvimresize(ndarray)" args -> IO ()-_cvimresize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("w",) . showValue <$> (args !? #w :: Maybe Int),-               ("h",) . showValue <$> (args !? #h :: Maybe Int),-               ("interp",) . showValue <$> (args !? #interp :: Maybe Int)]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimresize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvcopyMakeBorder(ndarray)" =-     '[ '("top", AttrReq Int), '("bot", AttrReq Int),-        '("left", AttrReq Int), '("right", AttrReq Int),-        '("type", AttrOpt Int), '("value", AttrOpt Double),-        '("values", AttrOpt [Double]), '("src", AttrOpt NDArrayHandle)]--_cvcopyMakeBorder ::-                  forall args . Fullfilled "_cvcopyMakeBorder(ndarray)" args =>-                    ArgsHMap "_cvcopyMakeBorder(ndarray)" args -> IO [NDArrayHandle]-_cvcopyMakeBorder args-  = let scalarArgs-          = catMaybes-              [("top",) . showValue <$> (args !? #top :: Maybe Int),-               ("bot",) . showValue <$> (args !? #bot :: Maybe Int),-               ("left",) . showValue <$> (args !? #left :: Maybe Int),-               ("right",) . showValue <$> (args !? #right :: Maybe Int),-               ("type",) . showValue <$> (args !? #type :: Maybe Int),-               ("value",) . showValue <$> (args !? #value :: Maybe Double),-               ("values",) . showValue <$> (args !? #values :: Maybe [Double])]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvcopyMakeBorder"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvcopyMakeBorder_upd ::-                      forall args . Fullfilled "_cvcopyMakeBorder(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_cvcopyMakeBorder(ndarray)" args -> IO ()-_cvcopyMakeBorder_upd outputs args-  = let scalarArgs-          = catMaybes-              [("top",) . showValue <$> (args !? #top :: Maybe Int),-               ("bot",) . showValue <$> (args !? #bot :: Maybe Int),-               ("left",) . showValue <$> (args !? #left :: Maybe Int),-               ("right",) . showValue <$> (args !? #right :: Maybe Int),-               ("type",) . showValue <$> (args !? #type :: Maybe Int),-               ("value",) . showValue <$> (args !? #value :: Maybe Double),-               ("values",) . showValue <$> (args !? #values :: Maybe [Double])]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvcopyMakeBorder"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_NoGradient(ndarray)" = '[]--_NoGradient ::-            forall args . Fullfilled "_NoGradient(ndarray)" args =>-              ArgsHMap "_NoGradient(ndarray)" args -> IO [NDArrayHandle]-_NoGradient args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_NoGradient"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_NoGradient_upd ::-                forall args . Fullfilled "_NoGradient(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_NoGradient(ndarray)" args -> IO ()-_NoGradient_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_NoGradient"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CachedOp(ndarray)" = '[]--_CachedOp ::-          forall args . Fullfilled "_CachedOp(ndarray)" args =>-            ArgsHMap "_CachedOp(ndarray)" args -> IO [NDArrayHandle]-_CachedOp args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CachedOp_upd ::-              forall args . Fullfilled "_CachedOp(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_CachedOp(ndarray)" args -> IO ()-_CachedOp_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_CachedOp(ndarray)" = '[]--_backward_CachedOp ::-                   forall args . Fullfilled "_backward_CachedOp(ndarray)" args =>-                     ArgsHMap "_backward_CachedOp(ndarray)" args -> IO [NDArrayHandle]-_backward_CachedOp args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_CachedOp_upd ::-                       forall args . Fullfilled "_backward_CachedOp(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_CachedOp(ndarray)" args -> IO ()-_backward_CachedOp_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_copyto(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_copyto ::-        forall args . Fullfilled "_copyto(ndarray)" args =>-          ArgsHMap "_copyto(ndarray)" args -> IO [NDArrayHandle]-_copyto args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copyto"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_copyto_upd ::-            forall args . Fullfilled "_copyto(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_copyto(ndarray)" args -> IO ()-_copyto_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copyto"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SwapAxis(ndarray)" =-     '[ '("dim1", AttrOpt Int), '("dim2", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle)]--_SwapAxis ::-          forall args . Fullfilled "_SwapAxis(ndarray)" args =>-            ArgsHMap "_SwapAxis(ndarray)" args -> IO [NDArrayHandle]-_SwapAxis args-  = let scalarArgs-          = catMaybes-              [("dim1",) . showValue <$> (args !? #dim1 :: Maybe Int),-               ("dim2",) . showValue <$> (args !? #dim2 :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SwapAxis_upd ::-              forall args . Fullfilled "_SwapAxis(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_SwapAxis(ndarray)" args -> IO ()-_SwapAxis_upd outputs args-  = let scalarArgs-          = catMaybes-              [("dim1",) . showValue <$> (args !? #dim1 :: Maybe Int),-               ("dim2",) . showValue <$> (args !? #dim2 :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Pad(ndarray)" =-     '[ '("mode", AttrReq (EnumType '["constant", "edge", "reflect"])),-        '("pad_width", AttrReq [Int]), '("constant_value", AttrOpt Double),-        '("data", AttrOpt NDArrayHandle)]--_Pad ::-     forall args . Fullfilled "_Pad(ndarray)" args =>-       ArgsHMap "_Pad(ndarray)" args -> IO [NDArrayHandle]-_Pad args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["constant", "edge", "reflect"])),-               ("pad_width",) . showValue <$> (args !? #pad_width :: Maybe [Int]),-               ("constant_value",) . showValue <$>-                 (args !? #constant_value :: Maybe Double)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Pad_upd ::-         forall args . Fullfilled "_Pad(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_Pad(ndarray)" args -> IO ()-_Pad_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["constant", "edge", "reflect"])),-               ("pad_width",) . showValue <$> (args !? #pad_width :: Maybe [Int]),-               ("constant_value",) . showValue <$>-                 (args !? #constant_value :: Maybe Double)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BatchNorm_v1(ndarray)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_BatchNorm_v1 ::-              forall args . Fullfilled "_BatchNorm_v1(ndarray)" args =>-                ArgsHMap "_BatchNorm_v1(ndarray)" args -> IO [NDArrayHandle]-_BatchNorm_v1 args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BatchNorm_v1_upd ::-                  forall args . Fullfilled "_BatchNorm_v1(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_BatchNorm_v1(ndarray)" args -> IO ()-_BatchNorm_v1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sgd_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle)]--sgd_update ::-           forall args . Fullfilled "sgd_update(ndarray)" args =>-             ArgsHMap "sgd_update(ndarray)" args -> IO [NDArrayHandle]-sgd_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sgd_update_upd ::-               forall args . Fullfilled "sgd_update(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "sgd_update(ndarray)" args -> IO ()-sgd_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sgd_mom_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mom", AttrOpt NDArrayHandle)]--sgd_mom_update ::-               forall args . Fullfilled "sgd_mom_update(ndarray)" args =>-                 ArgsHMap "sgd_mom_update(ndarray)" args -> IO [NDArrayHandle]-sgd_mom_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sgd_mom_update_upd ::-                   forall args . Fullfilled "sgd_mom_update(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "sgd_mom_update(ndarray)" args -> IO ()-sgd_mom_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "mp_sgd_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle),-        '("weight32", AttrOpt NDArrayHandle)]--mp_sgd_update ::-              forall args . Fullfilled "mp_sgd_update(ndarray)" args =>-                ArgsHMap "mp_sgd_update(ndarray)" args -> IO [NDArrayHandle]-mp_sgd_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--mp_sgd_update_upd ::-                  forall args . Fullfilled "mp_sgd_update(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "mp_sgd_update(ndarray)" args -> IO ()-mp_sgd_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "mp_sgd_mom_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mom", AttrOpt NDArrayHandle),-        '("weight32", AttrOpt NDArrayHandle)]--mp_sgd_mom_update ::-                  forall args . Fullfilled "mp_sgd_mom_update(ndarray)" args =>-                    ArgsHMap "mp_sgd_mom_update(ndarray)" args -> IO [NDArrayHandle]-mp_sgd_mom_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--mp_sgd_mom_update_upd ::-                      forall args . Fullfilled "mp_sgd_mom_update(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "mp_sgd_mom_update(ndarray)" args -> IO ()-mp_sgd_mom_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "adam_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mean", AttrOpt NDArrayHandle),-        '("var", AttrOpt NDArrayHandle)]--adam_update ::-            forall args . Fullfilled "adam_update(ndarray)" args =>-              ArgsHMap "adam_update(ndarray)" args -> IO [NDArrayHandle]-adam_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mean",) <$> (args !? #mean :: Maybe NDArrayHandle),-               ("var",) <$> (args !? #var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "adam_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--adam_update_upd ::-                forall args . Fullfilled "adam_update(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "adam_update(ndarray)" args -> IO ()-adam_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mean",) <$> (args !? #mean :: Maybe NDArrayHandle),-               ("var",) <$> (args !? #var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "adam_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rmsprop_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("epsilon", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("n", AttrOpt NDArrayHandle)]--rmsprop_update ::-               forall args . Fullfilled "rmsprop_update(ndarray)" args =>-                 ArgsHMap "rmsprop_update(ndarray)" args -> IO [NDArrayHandle]-rmsprop_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmsprop_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rmsprop_update_upd ::-                   forall args . Fullfilled "rmsprop_update(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "rmsprop_update(ndarray)" args -> IO ()-rmsprop_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmsprop_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rmspropalex_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("gamma2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("n", AttrOpt NDArrayHandle),-        '("g", AttrOpt NDArrayHandle), '("delta", AttrOpt NDArrayHandle)]--rmspropalex_update ::-                   forall args . Fullfilled "rmspropalex_update(ndarray)" args =>-                     ArgsHMap "rmspropalex_update(ndarray)" args -> IO [NDArrayHandle]-rmspropalex_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("gamma2",) . showValue <$> (args !? #gamma2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle),-               ("g",) <$> (args !? #g :: Maybe NDArrayHandle),-               ("delta",) <$> (args !? #delta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmspropalex_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rmspropalex_update_upd ::-                       forall args . Fullfilled "rmspropalex_update(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "rmspropalex_update(ndarray)" args -> IO ()-rmspropalex_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("gamma2",) . showValue <$> (args !? #gamma2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle),-               ("g",) <$> (args !? #g :: Maybe NDArrayHandle),-               ("delta",) <$> (args !? #delta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmspropalex_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ftrl_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("lamda1", AttrOpt Float),-        '("beta", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("z", AttrOpt NDArrayHandle),-        '("n", AttrOpt NDArrayHandle)]--ftrl_update ::-            forall args . Fullfilled "ftrl_update(ndarray)" args =>-              ArgsHMap "ftrl_update(ndarray)" args -> IO [NDArrayHandle]-ftrl_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("lamda1",) . showValue <$> (args !? #lamda1 :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftrl_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ftrl_update_upd ::-                forall args . Fullfilled "ftrl_update(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "ftrl_update(ndarray)" args -> IO ()-ftrl_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("lamda1",) . showValue <$> (args !? #lamda1 :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftrl_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LeakyReLU(ndarray)" =-     '[ '("act_type",-          AttrOpt (EnumType '["elu", "leaky", "prelu", "rrelu"])),-        '("slope", AttrOpt Float), '("lower_bound", AttrOpt Float),-        '("upper_bound", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_LeakyReLU ::-           forall args . Fullfilled "_LeakyReLU(ndarray)" args =>-             ArgsHMap "_LeakyReLU(ndarray)" args -> IO [NDArrayHandle]-_LeakyReLU args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe (EnumType '["elu", "leaky", "prelu", "rrelu"])),-               ("slope",) . showValue <$> (args !? #slope :: Maybe Float),-               ("lower_bound",) . showValue <$>-                 (args !? #lower_bound :: Maybe Float),-               ("upper_bound",) . showValue <$>-                 (args !? #upper_bound :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LeakyReLU_upd ::-               forall args . Fullfilled "_LeakyReLU(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_LeakyReLU(ndarray)" args -> IO ()-_LeakyReLU_upd outputs args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe (EnumType '["elu", "leaky", "prelu", "rrelu"])),-               ("slope",) . showValue <$> (args !? #slope :: Maybe Float),-               ("lower_bound",) . showValue <$>-                 (args !? #lower_bound :: Maybe Float),-               ("upper_bound",) . showValue <$>-                 (args !? #upper_bound :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_IdentityAttachKLSparseReg(ndarray)" =-     '[ '("sparseness_target", AttrOpt Float),-        '("penalty", AttrOpt Float), '("momentum", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_IdentityAttachKLSparseReg ::-                           forall args .-                             Fullfilled "_IdentityAttachKLSparseReg(ndarray)" args =>-                             ArgsHMap "_IdentityAttachKLSparseReg(ndarray)" args ->-                               IO [NDArrayHandle]-_IdentityAttachKLSparseReg args-  = let scalarArgs-          = catMaybes-              [("sparseness_target",) . showValue <$>-                 (args !? #sparseness_target :: Maybe Float),-               ("penalty",) . showValue <$> (args !? #penalty :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_IdentityAttachKLSparseReg_upd ::-                               forall args .-                                 Fullfilled "_IdentityAttachKLSparseReg(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_IdentityAttachKLSparseReg(ndarray)" args -> IO ()-_IdentityAttachKLSparseReg_upd outputs args-  = let scalarArgs-          = catMaybes-              [("sparseness_target",) . showValue <$>-                 (args !? #sparseness_target :: Maybe Float),-               ("penalty",) . showValue <$> (args !? #penalty :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_UpSampling(ndarray)" =-     '[ '("scale", AttrReq Int), '("num_filter", AttrOpt Int),-        '("sample_type", AttrReq (EnumType '["bilinear", "nearest"])),-        '("multi_input_mode", AttrOpt (EnumType '["concat", "sum"])),-        '("num_args", AttrReq Int), '("workspace", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--_UpSampling ::-            forall args . Fullfilled "_UpSampling(ndarray)" args =>-              ArgsHMap "_UpSampling(ndarray)" args -> IO [NDArrayHandle]-_UpSampling args-  = let scalarArgs-          = catMaybes-              [("scale",) . showValue <$> (args !? #scale :: Maybe Int),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("sample_type",) . showValue <$>-                 (args !? #sample_type ::-                    Maybe (EnumType '["bilinear", "nearest"])),-               ("multi_input_mode",) . showValue <$>-                 (args !? #multi_input_mode :: Maybe (EnumType '["concat", "sum"])),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "UpSampling"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_UpSampling_upd ::-                forall args . Fullfilled "_UpSampling(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_UpSampling(ndarray)" args -> IO ()-_UpSampling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scale",) . showValue <$> (args !? #scale :: Maybe Int),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("sample_type",) . showValue <$>-                 (args !? #sample_type ::-                    Maybe (EnumType '["bilinear", "nearest"])),-               ("multi_input_mode",) . showValue <$>-                 (args !? #multi_input_mode :: Maybe (EnumType '["concat", "sum"])),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "UpSampling"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_SliceChannel(ndarray)" =-     '[ '("num_outputs", AttrReq Int), '("axis", AttrOpt Int),-        '("squeeze_axis", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--_SliceChannel ::-              forall args . Fullfilled "_SliceChannel(ndarray)" args =>-                ArgsHMap "_SliceChannel(ndarray)" args -> IO [NDArrayHandle]-_SliceChannel args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SliceChannel_upd ::-                  forall args . Fullfilled "_SliceChannel(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_SliceChannel(ndarray)" args -> IO ()-_SliceChannel_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CuDNNBatchNorm(ndarray)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--_CuDNNBatchNorm ::-                forall args . Fullfilled "_CuDNNBatchNorm(ndarray)" args =>-                  ArgsHMap "_CuDNNBatchNorm(ndarray)" args -> IO [NDArrayHandle]-_CuDNNBatchNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CuDNNBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CuDNNBatchNorm_upd ::-                    forall args . Fullfilled "_CuDNNBatchNorm(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_CuDNNBatchNorm(ndarray)" args -> IO ()-_CuDNNBatchNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CuDNNBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "softmax_cross_entropy(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--softmax_cross_entropy ::-                      forall args . Fullfilled "softmax_cross_entropy(ndarray)" args =>-                        ArgsHMap "softmax_cross_entropy(ndarray)" args ->-                          IO [NDArrayHandle]-softmax_cross_entropy args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--softmax_cross_entropy_upd ::-                          forall args . Fullfilled "softmax_cross_entropy(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "softmax_cross_entropy(ndarray)" args -> IO ()-softmax_cross_entropy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_softmax_cross_entropy(ndarray)" = '[]--_backward_softmax_cross_entropy ::-                                forall args .-                                  Fullfilled "_backward_softmax_cross_entropy(ndarray)" args =>-                                  ArgsHMap "_backward_softmax_cross_entropy(ndarray)" args ->-                                    IO [NDArrayHandle]-_backward_softmax_cross_entropy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_softmax_cross_entropy_upd ::-                                    forall args .-                                      Fullfilled "_backward_softmax_cross_entropy(ndarray)" args =>-                                      [NDArrayHandle] ->-                                        ArgsHMap "_backward_softmax_cross_entropy(ndarray)" args ->-                                          IO ()-_backward_softmax_cross_entropy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Concat(ndarray)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--_Concat ::-        forall args . Fullfilled "_Concat(ndarray)" args =>-          ArgsHMap "_Concat(ndarray)" args -> IO [NDArrayHandle]-_Concat args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_Concat_upd ::-            forall args . Fullfilled "_Concat(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_Concat(ndarray)" args -> IO ()-_Concat_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_BatchNorm(ndarray)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle),-        '("moving_mean", AttrOpt NDArrayHandle),-        '("moving_var", AttrOpt NDArrayHandle)]--_BatchNorm ::-           forall args . Fullfilled "_BatchNorm(ndarray)" args =>-             ArgsHMap "_BatchNorm(ndarray)" args -> IO [NDArrayHandle]-_BatchNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BatchNorm_upd ::-               forall args . Fullfilled "_BatchNorm(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_BatchNorm(ndarray)" args -> IO ()-_BatchNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CustomFunction(ndarray)" = '[]--_CustomFunction ::-                forall args . Fullfilled "_CustomFunction(ndarray)" args =>-                  ArgsHMap "_CustomFunction(ndarray)" args -> IO [NDArrayHandle]-_CustomFunction args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CustomFunction_upd ::-                    forall args . Fullfilled "_CustomFunction(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_CustomFunction(ndarray)" args -> IO ()-_CustomFunction_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_CustomFunction(ndarray)" =-     '[]--_backward_CustomFunction ::-                         forall args .-                           Fullfilled "_backward_CustomFunction(ndarray)" args =>-                           ArgsHMap "_backward_CustomFunction(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_CustomFunction args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_CustomFunction_upd ::-                             forall args .-                               Fullfilled "_backward_CustomFunction(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_CustomFunction(ndarray)" args -> IO ()-_backward_CustomFunction_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiBoxTarget(ndarray)" =-     '[ '("overlap_threshold", AttrOpt Float),-        '("ignore_label", AttrOpt Float),-        '("negative_mining_ratio", AttrOpt Float),-        '("negative_mining_thresh", AttrOpt Float),-        '("minimum_negative_samples", AttrOpt Int),-        '("variances", AttrOpt [Float]),-        '("anchor", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle),-        '("cls_pred", AttrOpt NDArrayHandle)]--_contrib_MultiBoxTarget ::-                        forall args . Fullfilled "_contrib_MultiBoxTarget(ndarray)" args =>-                          ArgsHMap "_contrib_MultiBoxTarget(ndarray)" args ->-                            IO [NDArrayHandle]-_contrib_MultiBoxTarget args-  = let scalarArgs-          = catMaybes-              [("overlap_threshold",) . showValue <$>-                 (args !? #overlap_threshold :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("negative_mining_ratio",) . showValue <$>-                 (args !? #negative_mining_ratio :: Maybe Float),-               ("negative_mining_thresh",) . showValue <$>-                 (args !? #negative_mining_thresh :: Maybe Float),-               ("minimum_negative_samples",) . showValue <$>-                 (args !? #minimum_negative_samples :: Maybe Int),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float])]-        tensorArgs-          = catMaybes-              [("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("cls_pred",) <$> (args !? #cls_pred :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiBoxTarget_upd ::-                            forall args . Fullfilled "_contrib_MultiBoxTarget(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_contrib_MultiBoxTarget(ndarray)" args -> IO ()-_contrib_MultiBoxTarget_upd outputs args-  = let scalarArgs-          = catMaybes-              [("overlap_threshold",) . showValue <$>-                 (args !? #overlap_threshold :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("negative_mining_ratio",) . showValue <$>-                 (args !? #negative_mining_ratio :: Maybe Float),-               ("negative_mining_thresh",) . showValue <$>-                 (args !? #negative_mining_thresh :: Maybe Float),-               ("minimum_negative_samples",) . showValue <$>-                 (args !? #minimum_negative_samples :: Maybe Int),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float])]-        tensorArgs-          = catMaybes-              [("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("cls_pred",) <$> (args !? #cls_pred :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiBoxTarget(ndarray)" = '[]--_backward__contrib_MultiBoxTarget ::-                                  forall args .-                                    Fullfilled "_backward__contrib_MultiBoxTarget(ndarray)" args =>-                                    ArgsHMap "_backward__contrib_MultiBoxTarget(ndarray)" args ->-                                      IO [NDArrayHandle]-_backward__contrib_MultiBoxTarget args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiBoxTarget_upd ::-                                      forall args .-                                        Fullfilled "_backward__contrib_MultiBoxTarget(ndarray)"-                                          args =>-                                        [NDArrayHandle] ->-                                          ArgsHMap "_backward__contrib_MultiBoxTarget(ndarray)" args-                                            -> IO ()-_backward__contrib_MultiBoxTarget_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_Proposal(ndarray)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_score", AttrOpt NDArrayHandle),-        '("bbox_pred", AttrOpt NDArrayHandle),-        '("im_info", AttrOpt NDArrayHandle)]--_contrib_Proposal ::-                  forall args . Fullfilled "_contrib_Proposal(ndarray)" args =>-                    ArgsHMap "_contrib_Proposal(ndarray)" args -> IO [NDArrayHandle]-_contrib_Proposal args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_score",) <$> (args !? #cls_score :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_Proposal_upd ::-                      forall args . Fullfilled "_contrib_Proposal(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_contrib_Proposal(ndarray)" args -> IO ()-_contrib_Proposal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_score",) <$> (args !? #cls_score :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_Proposal(ndarray)"-     = '[]--_backward__contrib_Proposal ::-                            forall args .-                              Fullfilled "_backward__contrib_Proposal(ndarray)" args =>-                              ArgsHMap "_backward__contrib_Proposal(ndarray)" args ->-                                IO [NDArrayHandle]-_backward__contrib_Proposal args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_Proposal_upd ::-                                forall args .-                                  Fullfilled "_backward__contrib_Proposal(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward__contrib_Proposal(ndarray)" args -> IO ()-_backward__contrib_Proposal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_count_sketch(ndarray)" =-     '[ '("out_dim", AttrReq Int),-        '("processing_batch_size", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle), '("h", AttrOpt NDArrayHandle),-        '("s", AttrOpt NDArrayHandle)]--_contrib_count_sketch ::-                      forall args . Fullfilled "_contrib_count_sketch(ndarray)" args =>-                        ArgsHMap "_contrib_count_sketch(ndarray)" args ->-                          IO [NDArrayHandle]-_contrib_count_sketch args-  = let scalarArgs-          = catMaybes-              [("out_dim",) . showValue <$> (args !? #out_dim :: Maybe Int),-               ("processing_batch_size",) . showValue <$>-                 (args !? #processing_batch_size :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("h",) <$> (args !? #h :: Maybe NDArrayHandle),-               ("s",) <$> (args !? #s :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_count_sketch_upd ::-                          forall args . Fullfilled "_contrib_count_sketch(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_contrib_count_sketch(ndarray)" args -> IO ()-_contrib_count_sketch_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_dim",) . showValue <$> (args !? #out_dim :: Maybe Int),-               ("processing_batch_size",) . showValue <$>-                 (args !? #processing_batch_size :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("h",) <$> (args !? #h :: Maybe NDArrayHandle),-               ("s",) <$> (args !? #s :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_count_sketch(ndarray)" = '[]--_backward__contrib_count_sketch ::-                                forall args .-                                  Fullfilled "_backward__contrib_count_sketch(ndarray)" args =>-                                  ArgsHMap "_backward__contrib_count_sketch(ndarray)" args ->-                                    IO [NDArrayHandle]-_backward__contrib_count_sketch args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_count_sketch_upd ::-                                    forall args .-                                      Fullfilled "_backward__contrib_count_sketch(ndarray)" args =>-                                      [NDArrayHandle] ->-                                        ArgsHMap "_backward__contrib_count_sketch(ndarray)" args ->-                                          IO ()-_backward__contrib_count_sketch_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiBoxDetection(ndarray)" =-     '[ '("clip", AttrOpt Bool), '("threshold", AttrOpt Float),-        '("background_id", AttrOpt Int), '("nms_threshold", AttrOpt Float),-        '("force_suppress", AttrOpt Bool), '("variances", AttrOpt [Float]),-        '("nms_topk", AttrOpt Int), '("cls_prob", AttrOpt NDArrayHandle),-        '("loc_pred", AttrOpt NDArrayHandle),-        '("anchor", AttrOpt NDArrayHandle)]--_contrib_MultiBoxDetection ::-                           forall args .-                             Fullfilled "_contrib_MultiBoxDetection(ndarray)" args =>-                             ArgsHMap "_contrib_MultiBoxDetection(ndarray)" args ->-                               IO [NDArrayHandle]-_contrib_MultiBoxDetection args-  = let scalarArgs-          = catMaybes-              [("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("nms_threshold",) . showValue <$>-                 (args !? #nms_threshold :: Maybe Float),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float]),-               ("nms_topk",) . showValue <$> (args !? #nms_topk :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("loc_pred",) <$> (args !? #loc_pred :: Maybe NDArrayHandle),-               ("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiBoxDetection_upd ::-                               forall args .-                                 Fullfilled "_contrib_MultiBoxDetection(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_contrib_MultiBoxDetection(ndarray)" args -> IO ()-_contrib_MultiBoxDetection_upd outputs args-  = let scalarArgs-          = catMaybes-              [("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("nms_threshold",) . showValue <$>-                 (args !? #nms_threshold :: Maybe Float),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float]),-               ("nms_topk",) . showValue <$> (args !? #nms_topk :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("loc_pred",) <$> (args !? #loc_pred :: Maybe NDArrayHandle),-               ("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiBoxDetection(ndarray)" = '[]--_backward__contrib_MultiBoxDetection ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiBoxDetection(ndarray)"-                                         args =>-                                       ArgsHMap "_backward__contrib_MultiBoxDetection(ndarray)" args-                                         -> IO [NDArrayHandle]-_backward__contrib_MultiBoxDetection args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiBoxDetection_upd ::-                                         forall args .-                                           Fullfilled-                                             "_backward__contrib_MultiBoxDetection(ndarray)" args =>-                                           [NDArrayHandle] ->-                                             ArgsHMap-                                               "_backward__contrib_MultiBoxDetection(ndarray)"-                                               args-                                               -> IO ()-_backward__contrib_MultiBoxDetection_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_PSROIPooling(ndarray)" = '[]--_backward__contrib_PSROIPooling ::-                                forall args .-                                  Fullfilled "_backward__contrib_PSROIPooling(ndarray)" args =>-                                  ArgsHMap "_backward__contrib_PSROIPooling(ndarray)" args ->-                                    IO [NDArrayHandle]-_backward__contrib_PSROIPooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_PSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_PSROIPooling_upd ::-                                    forall args .-                                      Fullfilled "_backward__contrib_PSROIPooling(ndarray)" args =>-                                      [NDArrayHandle] ->-                                        ArgsHMap "_backward__contrib_PSROIPooling(ndarray)" args ->-                                          IO ()-_backward__contrib_PSROIPooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_PSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_DeformablePSROIPooling(ndarray)"-     = '[]--_backward__contrib_DeformablePSROIPooling ::-                                          forall args .-                                            Fullfilled-                                              "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                              args =>-                                            ArgsHMap-                                              "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                              args-                                              -> IO [NDArrayHandle]-_backward__contrib_DeformablePSROIPooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformablePSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_DeformablePSROIPooling_upd ::-                                              forall args .-                                                Fullfilled-                                                  "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                                  args =>-                                                [NDArrayHandle] ->-                                                  ArgsHMap-                                                    "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                                    args-                                                    -> IO ()-_backward__contrib_DeformablePSROIPooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformablePSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_CTCLoss(ndarray)" =-     '[]--_backward__contrib_CTCLoss ::-                           forall args .-                             Fullfilled "_backward__contrib_CTCLoss(ndarray)" args =>-                             ArgsHMap "_backward__contrib_CTCLoss(ndarray)" args ->-                               IO [NDArrayHandle]-_backward__contrib_CTCLoss args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_CTCLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_CTCLoss_upd ::-                               forall args .-                                 Fullfilled "_backward__contrib_CTCLoss(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_backward__contrib_CTCLoss(ndarray)" args -> IO ()-_backward__contrib_CTCLoss_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_CTCLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiProposal(ndarray)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_score", AttrOpt NDArrayHandle),-        '("bbox_pred", AttrOpt NDArrayHandle),-        '("im_info", AttrOpt NDArrayHandle)]--_contrib_MultiProposal ::-                       forall args . Fullfilled "_contrib_MultiProposal(ndarray)" args =>-                         ArgsHMap "_contrib_MultiProposal(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_MultiProposal args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_score",) <$> (args !? #cls_score :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiProposal_upd ::-                           forall args . Fullfilled "_contrib_MultiProposal(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_MultiProposal(ndarray)" args -> IO ()-_contrib_MultiProposal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_score",) <$> (args !? #cls_score :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiProposal(ndarray)" = '[]--_backward__contrib_MultiProposal ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiProposal(ndarray)" args =>-                                   ArgsHMap "_backward__contrib_MultiProposal(ndarray)" args ->-                                     IO [NDArrayHandle]-_backward__contrib_MultiProposal args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiProposal_upd ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiProposal(ndarray)"-                                         args =>-                                       [NDArrayHandle] ->-                                         ArgsHMap "_backward__contrib_MultiProposal(ndarray)" args-                                           -> IO ()-_backward__contrib_MultiProposal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiBoxPrior(ndarray)" =-     '[ '("sizes", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("clip", AttrOpt Bool), '("steps", AttrOpt [Float]),-        '("offsets", AttrOpt [Float]), '("data", AttrOpt NDArrayHandle)]--_contrib_MultiBoxPrior ::-                       forall args . Fullfilled "_contrib_MultiBoxPrior(ndarray)" args =>-                         ArgsHMap "_contrib_MultiBoxPrior(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_MultiBoxPrior args-  = let scalarArgs-          = catMaybes-              [("sizes",) . showValue <$> (args !? #sizes :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("steps",) . showValue <$> (args !? #steps :: Maybe [Float]),-               ("offsets",) . showValue <$> (args !? #offsets :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiBoxPrior_upd ::-                           forall args . Fullfilled "_contrib_MultiBoxPrior(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_MultiBoxPrior(ndarray)" args -> IO ()-_contrib_MultiBoxPrior_upd outputs args-  = let scalarArgs-          = catMaybes-              [("sizes",) . showValue <$> (args !? #sizes :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("steps",) . showValue <$> (args !? #steps :: Maybe [Float]),-               ("offsets",) . showValue <$> (args !? #offsets :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiBoxPrior(ndarray)" = '[]--_backward__contrib_MultiBoxPrior ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiBoxPrior(ndarray)" args =>-                                   ArgsHMap "_backward__contrib_MultiBoxPrior(ndarray)" args ->-                                     IO [NDArrayHandle]-_backward__contrib_MultiBoxPrior args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiBoxPrior_upd ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiBoxPrior(ndarray)"-                                         args =>-                                       [NDArrayHandle] ->-                                         ArgsHMap "_backward__contrib_MultiBoxPrior(ndarray)" args-                                           -> IO ()-_backward__contrib_MultiBoxPrior_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_fft(ndarray)" =-     '[ '("compute_size", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle)]--_contrib_fft ::-             forall args . Fullfilled "_contrib_fft(ndarray)" args =>-               ArgsHMap "_contrib_fft(ndarray)" args -> IO [NDArrayHandle]-_contrib_fft args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_fft_upd ::-                 forall args . Fullfilled "_contrib_fft(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_contrib_fft(ndarray)" args -> IO ()-_contrib_fft_upd outputs args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_fft(ndarray)" = '[]--_backward__contrib_fft ::-                       forall args . Fullfilled "_backward__contrib_fft(ndarray)" args =>-                         ArgsHMap "_backward__contrib_fft(ndarray)" args ->-                           IO [NDArrayHandle]-_backward__contrib_fft args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_fft_upd ::-                           forall args . Fullfilled "_backward__contrib_fft(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward__contrib_fft(ndarray)" args -> IO ()-_backward__contrib_fft_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_DeformableConvolution(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("num_deformable_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("layout", AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NCW"]))),-        '("data", AttrOpt NDArrayHandle),-        '("offset", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_contrib_DeformableConvolution ::-                               forall args .-                                 Fullfilled "_contrib_DeformableConvolution(ndarray)" args =>-                                 ArgsHMap "_contrib_DeformableConvolution(ndarray)" args ->-                                   IO [NDArrayHandle]-_contrib_DeformableConvolution args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("num_deformable_group",) . showValue <$>-                 (args !? #num_deformable_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NCW"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("offset",) <$> (args !? #offset :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_DeformableConvolution_upd ::-                                   forall args .-                                     Fullfilled "_contrib_DeformableConvolution(ndarray)" args =>-                                     [NDArrayHandle] ->-                                       ArgsHMap "_contrib_DeformableConvolution(ndarray)" args ->-                                         IO ()-_contrib_DeformableConvolution_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("num_deformable_group",) . showValue <$>-                 (args !? #num_deformable_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NCW"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("offset",) <$> (args !? #offset :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_DeformableConvolution(ndarray)" =-     '[]--_backward__contrib_DeformableConvolution ::-                                         forall args .-                                           Fullfilled-                                             "_backward__contrib_DeformableConvolution(ndarray)"-                                             args =>-                                           ArgsHMap-                                             "_backward__contrib_DeformableConvolution(ndarray)"-                                             args-                                             -> IO [NDArrayHandle]-_backward__contrib_DeformableConvolution args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_DeformableConvolution_upd ::-                                             forall args .-                                               Fullfilled-                                                 "_backward__contrib_DeformableConvolution(ndarray)"-                                                 args =>-                                               [NDArrayHandle] ->-                                                 ArgsHMap-                                                   "_backward__contrib_DeformableConvolution(ndarray)"-                                                   args-                                                   -> IO ()-_backward__contrib_DeformableConvolution_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_ifft(ndarray)" =-     '[ '("compute_size", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle)]--_contrib_ifft ::-              forall args . Fullfilled "_contrib_ifft(ndarray)" args =>-                ArgsHMap "_contrib_ifft(ndarray)" args -> IO [NDArrayHandle]-_contrib_ifft args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_ifft_upd ::-                  forall args . Fullfilled "_contrib_ifft(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_contrib_ifft(ndarray)" args -> IO ()-_contrib_ifft_upd outputs args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_ifft(ndarray)" =-     '[]--_backward__contrib_ifft ::-                        forall args . Fullfilled "_backward__contrib_ifft(ndarray)" args =>-                          ArgsHMap "_backward__contrib_ifft(ndarray)" args ->-                            IO [NDArrayHandle]-_backward__contrib_ifft args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_ifft_upd ::-                            forall args . Fullfilled "_backward__contrib_ifft(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward__contrib_ifft(ndarray)" args -> IO ()-_backward__contrib_ifft_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__Native(ndarray)" = '[]--_backward__Native ::-                  forall args . Fullfilled "_backward__Native(ndarray)" args =>-                    ArgsHMap "_backward__Native(ndarray)" args -> IO [NDArrayHandle]-_backward__Native args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__Native"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__Native_upd ::-                      forall args . Fullfilled "_backward__Native(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward__Native(ndarray)" args -> IO ()-_backward__Native_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__Native"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__NDArray(ndarray)" = '[]--_backward__NDArray ::-                   forall args . Fullfilled "_backward__NDArray(ndarray)" args =>-                     ArgsHMap "_backward__NDArray(ndarray)" args -> IO [NDArrayHandle]-_backward__NDArray args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__NDArray"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__NDArray_upd ::-                       forall args . Fullfilled "_backward__NDArray(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward__NDArray(ndarray)" args -> IO ()-_backward__NDArray_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__NDArray"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_InstanceNorm(ndarray)" =-     '[ '("eps", AttrOpt Float), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_InstanceNorm ::-              forall args . Fullfilled "_InstanceNorm(ndarray)" args =>-                ArgsHMap "_InstanceNorm(ndarray)" args -> IO [NDArrayHandle]-_InstanceNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_InstanceNorm_upd ::-                  forall args . Fullfilled "_InstanceNorm(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_InstanceNorm(ndarray)" args -> IO ()-_InstanceNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_InstanceNorm(ndarray)" = '[]--_backward_InstanceNorm ::-                       forall args . Fullfilled "_backward_InstanceNorm(ndarray)" args =>-                         ArgsHMap "_backward_InstanceNorm(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_InstanceNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_InstanceNorm_upd ::-                           forall args . Fullfilled "_backward_InstanceNorm(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_InstanceNorm(ndarray)" args -> IO ()-_backward_InstanceNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SVMOutput(ndarray)" =-     '[ '("margin", AttrOpt Float),-        '("regularization_coefficient", AttrOpt Float),-        '("use_linear", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_SVMOutput ::-           forall args . Fullfilled "_SVMOutput(ndarray)" args =>-             ArgsHMap "_SVMOutput(ndarray)" args -> IO [NDArrayHandle]-_SVMOutput args-  = let scalarArgs-          = catMaybes-              [("margin",) . showValue <$> (args !? #margin :: Maybe Float),-               ("regularization_coefficient",) . showValue <$>-                 (args !? #regularization_coefficient :: Maybe Float),-               ("use_linear",) . showValue <$>-                 (args !? #use_linear :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SVMOutput_upd ::-               forall args . Fullfilled "_SVMOutput(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_SVMOutput(ndarray)" args -> IO ()-_SVMOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("margin",) . showValue <$> (args !? #margin :: Maybe Float),-               ("regularization_coefficient",) . showValue <$>-                 (args !? #regularization_coefficient :: Maybe Float),-               ("use_linear",) . showValue <$>-                 (args !? #use_linear :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SVMOutput(ndarray)" = '[]--_backward_SVMOutput ::-                    forall args . Fullfilled "_backward_SVMOutput(ndarray)" args =>-                      ArgsHMap "_backward_SVMOutput(ndarray)" args -> IO [NDArrayHandle]-_backward_SVMOutput args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SVMOutput_upd ::-                        forall args . Fullfilled "_backward_SVMOutput(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_SVMOutput(ndarray)" args -> IO ()-_backward_SVMOutput_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Pooling(ndarray)" =-     '[ '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("kernel", AttrReq [Int]),-        '("pool_type", AttrReq (EnumType '["avg", "max", "sum"])),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--_Pooling ::-         forall args . Fullfilled "_Pooling(ndarray)" args =>-           ArgsHMap "_Pooling(ndarray)" args -> IO [NDArrayHandle]-_Pooling args-  = let scalarArgs-          = catMaybes-              [("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Pooling_upd ::-             forall args . Fullfilled "_Pooling(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Pooling(ndarray)" args -> IO ()-_Pooling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Pooling(ndarray)" = '[]--_backward_Pooling ::-                  forall args . Fullfilled "_backward_Pooling(ndarray)" args =>-                    ArgsHMap "_backward_Pooling(ndarray)" args -> IO [NDArrayHandle]-_backward_Pooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Pooling_upd ::-                      forall args . Fullfilled "_backward_Pooling(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_Pooling(ndarray)" args -> IO ()-_backward_Pooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Convolution_v1(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_Convolution_v1 ::-                forall args . Fullfilled "_Convolution_v1(ndarray)" args =>-                  ArgsHMap "_Convolution_v1(ndarray)" args -> IO [NDArrayHandle]-_Convolution_v1 args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Convolution_v1_upd ::-                    forall args . Fullfilled "_Convolution_v1(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_Convolution_v1(ndarray)" args -> IO ()-_Convolution_v1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Convolution_v1(ndarray)" =-     '[]--_backward_Convolution_v1 ::-                         forall args .-                           Fullfilled "_backward_Convolution_v1(ndarray)" args =>-                           ArgsHMap "_backward_Convolution_v1(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_Convolution_v1 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Convolution_v1_upd ::-                             forall args .-                               Fullfilled "_backward_Convolution_v1(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_Convolution_v1(ndarray)" args -> IO ()-_backward_Convolution_v1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Crop(ndarray)" =-     '[ '("num_args", AttrReq Int), '("offset", AttrOpt [Int]),-        '("h_w", AttrOpt [Int]), '("center_crop", AttrOpt Bool),-        '("data", AttrOpt [NDArrayHandle])]--_Crop ::-      forall args . Fullfilled "_Crop(ndarray)" args =>-        ArgsHMap "_Crop(ndarray)" args -> IO [NDArrayHandle]-_Crop args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("offset",) . showValue <$> (args !? #offset :: Maybe [Int]),-               ("h_w",) . showValue <$> (args !? #h_w :: Maybe [Int]),-               ("center_crop",) . showValue <$>-                 (args !? #center_crop :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Crop"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_Crop_upd ::-          forall args . Fullfilled "_Crop(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_Crop(ndarray)" args -> IO ()-_Crop_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("offset",) . showValue <$> (args !? #offset :: Maybe [Int]),-               ("h_w",) . showValue <$> (args !? #h_w :: Maybe [Int]),-               ("center_crop",) . showValue <$>-                 (args !? #center_crop :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Crop"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Crop(ndarray)" = '[]--_backward_Crop ::-               forall args . Fullfilled "_backward_Crop(ndarray)" args =>-                 ArgsHMap "_backward_Crop(ndarray)" args -> IO [NDArrayHandle]-_backward_Crop args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Crop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Crop_upd ::-                   forall args . Fullfilled "_backward_Crop(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_Crop(ndarray)" args -> IO ()-_backward_Crop_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Crop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SpatialTransformer(ndarray)" =-     '[ '("target_shape", AttrOpt [Int]),-        '("transform_type", AttrReq (EnumType '["affine"])),-        '("sampler_type", AttrReq (EnumType '["bilinear"])),-        '("data", AttrOpt NDArrayHandle), '("loc", AttrOpt NDArrayHandle)]--_SpatialTransformer ::-                    forall args . Fullfilled "_SpatialTransformer(ndarray)" args =>-                      ArgsHMap "_SpatialTransformer(ndarray)" args -> IO [NDArrayHandle]-_SpatialTransformer args-  = let scalarArgs-          = catMaybes-              [("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine"])),-               ("sampler_type",) . showValue <$>-                 (args !? #sampler_type :: Maybe (EnumType '["bilinear"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("loc",) <$> (args !? #loc :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SpatialTransformer_upd ::-                        forall args . Fullfilled "_SpatialTransformer(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_SpatialTransformer(ndarray)" args -> IO ()-_SpatialTransformer_upd outputs args-  = let scalarArgs-          = catMaybes-              [("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine"])),-               ("sampler_type",) . showValue <$>-                 (args !? #sampler_type :: Maybe (EnumType '["bilinear"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("loc",) <$> (args !? #loc :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SpatialTransformer(ndarray)"-     = '[]--_backward_SpatialTransformer ::-                             forall args .-                               Fullfilled "_backward_SpatialTransformer(ndarray)" args =>-                               ArgsHMap "_backward_SpatialTransformer(ndarray)" args ->-                                 IO [NDArrayHandle]-_backward_SpatialTransformer args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SpatialTransformer_upd ::-                                 forall args .-                                   Fullfilled "_backward_SpatialTransformer(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_backward_SpatialTransformer(ndarray)" args -> IO ()-_backward_SpatialTransformer_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SwapAxis(ndarray)" = '[]--_backward_SwapAxis ::-                   forall args . Fullfilled "_backward_SwapAxis(ndarray)" args =>-                     ArgsHMap "_backward_SwapAxis(ndarray)" args -> IO [NDArrayHandle]-_backward_SwapAxis args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SwapAxis_upd ::-                       forall args . Fullfilled "_backward_SwapAxis(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_SwapAxis(ndarray)" args -> IO ()-_backward_SwapAxis_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LinearRegressionOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_LinearRegressionOutput ::-                        forall args . Fullfilled "_LinearRegressionOutput(ndarray)" args =>-                          ArgsHMap "_LinearRegressionOutput(ndarray)" args ->-                            IO [NDArrayHandle]-_LinearRegressionOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LinearRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LinearRegressionOutput_upd ::-                            forall args . Fullfilled "_LinearRegressionOutput(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_LinearRegressionOutput(ndarray)" args -> IO ()-_LinearRegressionOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LinearRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_LinearRegressionOutput(ndarray)" = '[]--_backward_LinearRegressionOutput ::-                                 forall args .-                                   Fullfilled "_backward_LinearRegressionOutput(ndarray)" args =>-                                   ArgsHMap "_backward_LinearRegressionOutput(ndarray)" args ->-                                     IO [NDArrayHandle]-_backward_LinearRegressionOutput args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LinearRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_LinearRegressionOutput_upd ::-                                     forall args .-                                       Fullfilled "_backward_LinearRegressionOutput(ndarray)"-                                         args =>-                                       [NDArrayHandle] ->-                                         ArgsHMap "_backward_LinearRegressionOutput(ndarray)" args-                                           -> IO ()-_backward_LinearRegressionOutput_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LinearRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_MAERegressionOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_MAERegressionOutput ::-                     forall args . Fullfilled "_MAERegressionOutput(ndarray)" args =>-                       ArgsHMap "_MAERegressionOutput(ndarray)" args -> IO [NDArrayHandle]-_MAERegressionOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MAERegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_MAERegressionOutput_upd ::-                         forall args . Fullfilled "_MAERegressionOutput(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_MAERegressionOutput(ndarray)" args -> IO ()-_MAERegressionOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MAERegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_MAERegressionOutput(ndarray)" = '[]--_backward_MAERegressionOutput ::-                              forall args .-                                Fullfilled "_backward_MAERegressionOutput(ndarray)" args =>-                                ArgsHMap "_backward_MAERegressionOutput(ndarray)" args ->-                                  IO [NDArrayHandle]-_backward_MAERegressionOutput args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MAERegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_MAERegressionOutput_upd ::-                                  forall args .-                                    Fullfilled "_backward_MAERegressionOutput(ndarray)" args =>-                                    [NDArrayHandle] ->-                                      ArgsHMap "_backward_MAERegressionOutput(ndarray)" args ->-                                        IO ()-_backward_MAERegressionOutput_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MAERegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LogisticRegressionOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_LogisticRegressionOutput ::-                          forall args .-                            Fullfilled "_LogisticRegressionOutput(ndarray)" args =>-                            ArgsHMap "_LogisticRegressionOutput(ndarray)" args ->-                              IO [NDArrayHandle]-_LogisticRegressionOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LogisticRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LogisticRegressionOutput_upd ::-                              forall args .-                                Fullfilled "_LogisticRegressionOutput(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_LogisticRegressionOutput(ndarray)" args -> IO ()-_LogisticRegressionOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LogisticRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_LogisticRegressionOutput(ndarray)" = '[]--_backward_LogisticRegressionOutput ::-                                   forall args .-                                     Fullfilled "_backward_LogisticRegressionOutput(ndarray)"-                                       args =>-                                     ArgsHMap "_backward_LogisticRegressionOutput(ndarray)" args ->-                                       IO [NDArrayHandle]-_backward_LogisticRegressionOutput args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LogisticRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_LogisticRegressionOutput_upd ::-                                       forall args .-                                         Fullfilled "_backward_LogisticRegressionOutput(ndarray)"-                                           args =>-                                         [NDArrayHandle] ->-                                           ArgsHMap "_backward_LogisticRegressionOutput(ndarray)"-                                             args-                                             -> IO ()-_backward_LogisticRegressionOutput_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LogisticRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Pad(ndarray)" = '[]--_backward_Pad ::-              forall args . Fullfilled "_backward_Pad(ndarray)" args =>-                ArgsHMap "_backward_Pad(ndarray)" args -> IO [NDArrayHandle]-_backward_Pad args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Pad_upd ::-                  forall args . Fullfilled "_backward_Pad(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_Pad(ndarray)" args -> IO ()-_backward_Pad_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SoftmaxOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_SoftmaxOutput ::-               forall args . Fullfilled "_SoftmaxOutput(ndarray)" args =>-                 ArgsHMap "_SoftmaxOutput(ndarray)" args -> IO [NDArrayHandle]-_SoftmaxOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SoftmaxOutput_upd ::-                   forall args . Fullfilled "_SoftmaxOutput(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_SoftmaxOutput(ndarray)" args -> IO ()-_SoftmaxOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SoftmaxOutput(ndarray)" =-     '[]--_backward_SoftmaxOutput ::-                        forall args . Fullfilled "_backward_SoftmaxOutput(ndarray)" args =>-                          ArgsHMap "_backward_SoftmaxOutput(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_SoftmaxOutput args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SoftmaxOutput_upd ::-                            forall args . Fullfilled "_backward_SoftmaxOutput(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_SoftmaxOutput(ndarray)" args -> IO ()-_backward_SoftmaxOutput_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Softmax(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_Softmax ::-         forall args . Fullfilled "_Softmax(ndarray)" args =>-           ArgsHMap "_Softmax(ndarray)" args -> IO [NDArrayHandle]-_Softmax args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Softmax_upd ::-             forall args . Fullfilled "_Softmax(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Softmax(ndarray)" args -> IO ()-_Softmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Softmax(ndarray)" = '[]--_backward_Softmax ::-                  forall args . Fullfilled "_backward_Softmax(ndarray)" args =>-                    ArgsHMap "_backward_Softmax(ndarray)" args -> IO [NDArrayHandle]-_backward_Softmax args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Softmax_upd ::-                      forall args . Fullfilled "_backward_Softmax(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_Softmax(ndarray)" args -> IO ()-_backward_Softmax_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SequenceReverse(ndarray)" =-     '[ '("use_sequence_length", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("sequence_length", AttrOpt NDArrayHandle)]--_SequenceReverse ::-                 forall args . Fullfilled "_SequenceReverse(ndarray)" args =>-                   ArgsHMap "_SequenceReverse(ndarray)" args -> IO [NDArrayHandle]-_SequenceReverse args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SequenceReverse_upd ::-                     forall args . Fullfilled "_SequenceReverse(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_SequenceReverse(ndarray)" args -> IO ()-_SequenceReverse_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SequenceReverse(ndarray)" =-     '[]--_backward_SequenceReverse ::-                          forall args .-                            Fullfilled "_backward_SequenceReverse(ndarray)" args =>-                            ArgsHMap "_backward_SequenceReverse(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_SequenceReverse args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SequenceReverse_upd ::-                              forall args .-                                Fullfilled "_backward_SequenceReverse(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_SequenceReverse(ndarray)" args -> IO ()-_backward_SequenceReverse_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_BatchNorm_v1(ndarray)" = '[]--_backward_BatchNorm_v1 ::-                       forall args . Fullfilled "_backward_BatchNorm_v1(ndarray)" args =>-                         ArgsHMap "_backward_BatchNorm_v1(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_BatchNorm_v1 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_BatchNorm_v1_upd ::-                           forall args . Fullfilled "_backward_BatchNorm_v1(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_BatchNorm_v1(ndarray)" args -> IO ()-_backward_BatchNorm_v1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SequenceLast(ndarray)" =-     '[ '("use_sequence_length", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("sequence_length", AttrOpt NDArrayHandle)]--_SequenceLast ::-              forall args . Fullfilled "_SequenceLast(ndarray)" args =>-                ArgsHMap "_SequenceLast(ndarray)" args -> IO [NDArrayHandle]-_SequenceLast args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SequenceLast_upd ::-                  forall args . Fullfilled "_SequenceLast(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_SequenceLast(ndarray)" args -> IO ()-_SequenceLast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SequenceLast(ndarray)" = '[]--_backward_SequenceLast ::-                       forall args . Fullfilled "_backward_SequenceLast(ndarray)" args =>-                         ArgsHMap "_backward_SequenceLast(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_SequenceLast args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SequenceLast_upd ::-                           forall args . Fullfilled "_backward_SequenceLast(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_SequenceLast(ndarray)" args -> IO ()-_backward_SequenceLast_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Correlation(ndarray)" =-     '[ '("kernel_size", AttrOpt Int),-        '("max_displacement", AttrOpt Int), '("stride1", AttrOpt Int),-        '("stride2", AttrOpt Int), '("pad_size", AttrOpt Int),-        '("is_multiply", AttrOpt Bool), '("data1", AttrOpt NDArrayHandle),-        '("data2", AttrOpt NDArrayHandle)]--_Correlation ::-             forall args . Fullfilled "_Correlation(ndarray)" args =>-               ArgsHMap "_Correlation(ndarray)" args -> IO [NDArrayHandle]-_Correlation args-  = let scalarArgs-          = catMaybes-              [("kernel_size",) . showValue <$>-                 (args !? #kernel_size :: Maybe Int),-               ("max_displacement",) . showValue <$>-                 (args !? #max_displacement :: Maybe Int),-               ("stride1",) . showValue <$> (args !? #stride1 :: Maybe Int),-               ("stride2",) . showValue <$> (args !? #stride2 :: Maybe Int),-               ("pad_size",) . showValue <$> (args !? #pad_size :: Maybe Int),-               ("is_multiply",) . showValue <$>-                 (args !? #is_multiply :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data1",) <$> (args !? #data1 :: Maybe NDArrayHandle),-               ("data2",) <$> (args !? #data2 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Correlation_upd ::-                 forall args . Fullfilled "_Correlation(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_Correlation(ndarray)" args -> IO ()-_Correlation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel_size",) . showValue <$>-                 (args !? #kernel_size :: Maybe Int),-               ("max_displacement",) . showValue <$>-                 (args !? #max_displacement :: Maybe Int),-               ("stride1",) . showValue <$> (args !? #stride1 :: Maybe Int),-               ("stride2",) . showValue <$> (args !? #stride2 :: Maybe Int),-               ("pad_size",) . showValue <$> (args !? #pad_size :: Maybe Int),-               ("is_multiply",) . showValue <$>-                 (args !? #is_multiply :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data1",) <$> (args !? #data1 :: Maybe NDArrayHandle),-               ("data2",) <$> (args !? #data2 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Correlation(ndarray)" = '[]--_backward_Correlation ::-                      forall args . Fullfilled "_backward_Correlation(ndarray)" args =>-                        ArgsHMap "_backward_Correlation(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_Correlation args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Correlation_upd ::-                          forall args . Fullfilled "_backward_Correlation(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_Correlation(ndarray)" args -> IO ()-_backward_Correlation_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_MakeLoss(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("valid_thresh", AttrOpt Float),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("data", AttrOpt NDArrayHandle)]--_MakeLoss ::-          forall args . Fullfilled "_MakeLoss(ndarray)" args =>-            ArgsHMap "_MakeLoss(ndarray)" args -> IO [NDArrayHandle]-_MakeLoss args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_MakeLoss_upd ::-              forall args . Fullfilled "_MakeLoss(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_MakeLoss(ndarray)" args -> IO ()-_MakeLoss_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_MakeLoss(ndarray)" = '[]--_backward_MakeLoss ::-                   forall args . Fullfilled "_backward_MakeLoss(ndarray)" args =>-                     ArgsHMap "_backward_MakeLoss(ndarray)" args -> IO [NDArrayHandle]-_backward_MakeLoss args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_MakeLoss_upd ::-                       forall args . Fullfilled "_backward_MakeLoss(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_MakeLoss(ndarray)" args -> IO ()-_backward_MakeLoss_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LRN(ndarray)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("knorm", AttrOpt Float), '("nsize", AttrReq Int),-        '("data", AttrOpt NDArrayHandle)]--_LRN ::-     forall args . Fullfilled "_LRN(ndarray)" args =>-       ArgsHMap "_LRN(ndarray)" args -> IO [NDArrayHandle]-_LRN args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("knorm",) . showValue <$> (args !? #knorm :: Maybe Float),-               ("nsize",) . showValue <$> (args !? #nsize :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LRN_upd ::-         forall args . Fullfilled "_LRN(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_LRN(ndarray)" args -> IO ()-_LRN_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("knorm",) . showValue <$> (args !? #knorm :: Maybe Float),-               ("nsize",) . showValue <$> (args !? #nsize :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_LRN(ndarray)" = '[]--_backward_LRN ::-              forall args . Fullfilled "_backward_LRN(ndarray)" args =>-                ArgsHMap "_backward_LRN(ndarray)" args -> IO [NDArrayHandle]-_backward_LRN args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_LRN_upd ::-                  forall args . Fullfilled "_backward_LRN(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_LRN(ndarray)" args -> IO ()-_backward_LRN_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SequenceMask(ndarray)" =-     '[ '("use_sequence_length", AttrOpt Bool),-        '("value", AttrOpt Float), '("data", AttrOpt NDArrayHandle),-        '("sequence_length", AttrOpt NDArrayHandle)]--_SequenceMask ::-              forall args . Fullfilled "_SequenceMask(ndarray)" args =>-                ArgsHMap "_SequenceMask(ndarray)" args -> IO [NDArrayHandle]-_SequenceMask args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("value",) . showValue <$> (args !? #value :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SequenceMask_upd ::-                  forall args . Fullfilled "_SequenceMask(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_SequenceMask(ndarray)" args -> IO ()-_SequenceMask_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("value",) . showValue <$> (args !? #value :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SequenceMask(ndarray)" = '[]--_backward_SequenceMask ::-                       forall args . Fullfilled "_backward_SequenceMask(ndarray)" args =>-                         ArgsHMap "_backward_SequenceMask(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_SequenceMask args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SequenceMask_upd ::-                           forall args . Fullfilled "_backward_SequenceMask(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_SequenceMask(ndarray)" args -> IO ()-_backward_SequenceMask_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_GridGenerator(ndarray)" =-     '[ '("transform_type", AttrReq (EnumType '["affine", "warp"])),-        '("target_shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--_GridGenerator ::-               forall args . Fullfilled "_GridGenerator(ndarray)" args =>-                 ArgsHMap "_GridGenerator(ndarray)" args -> IO [NDArrayHandle]-_GridGenerator args-  = let scalarArgs-          = catMaybes-              [("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine", "warp"])),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_GridGenerator_upd ::-                   forall args . Fullfilled "_GridGenerator(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_GridGenerator(ndarray)" args -> IO ()-_GridGenerator_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine", "warp"])),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_GridGenerator(ndarray)" =-     '[]--_backward_GridGenerator ::-                        forall args . Fullfilled "_backward_GridGenerator(ndarray)" args =>-                          ArgsHMap "_backward_GridGenerator(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_GridGenerator args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_GridGenerator_upd ::-                            forall args . Fullfilled "_backward_GridGenerator(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_GridGenerator(ndarray)" args -> IO ()-_backward_GridGenerator_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Pooling_v1(ndarray)" =-     '[ '("global_pool", AttrOpt Bool), '("kernel", AttrReq [Int]),-        '("pool_type", AttrReq (EnumType '["avg", "max", "sum"])),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--_Pooling_v1 ::-            forall args . Fullfilled "_Pooling_v1(ndarray)" args =>-              ArgsHMap "_Pooling_v1(ndarray)" args -> IO [NDArrayHandle]-_Pooling_v1 args-  = let scalarArgs-          = catMaybes-              [("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Pooling_v1_upd ::-                forall args . Fullfilled "_Pooling_v1(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_Pooling_v1(ndarray)" args -> IO ()-_Pooling_v1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Pooling_v1(ndarray)" = '[]--_backward_Pooling_v1 ::-                     forall args . Fullfilled "_backward_Pooling_v1(ndarray)" args =>-                       ArgsHMap "_backward_Pooling_v1(ndarray)" args -> IO [NDArrayHandle]-_backward_Pooling_v1 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Pooling_v1_upd ::-                         forall args . Fullfilled "_backward_Pooling_v1(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_Pooling_v1(ndarray)" args -> IO ()-_backward_Pooling_v1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_LeakyReLU(ndarray)" = '[]--_backward_LeakyReLU ::-                    forall args . Fullfilled "_backward_LeakyReLU(ndarray)" args =>-                      ArgsHMap "_backward_LeakyReLU(ndarray)" args -> IO [NDArrayHandle]-_backward_LeakyReLU args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_LeakyReLU_upd ::-                        forall args . Fullfilled "_backward_LeakyReLU(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_LeakyReLU(ndarray)" args -> IO ()-_backward_LeakyReLU_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_IdentityAttachKLSparseReg(ndarray)" = '[]--_backward_IdentityAttachKLSparseReg ::-                                    forall args .-                                      Fullfilled "_backward_IdentityAttachKLSparseReg(ndarray)"-                                        args =>-                                      ArgsHMap "_backward_IdentityAttachKLSparseReg(ndarray)" args-                                        -> IO [NDArrayHandle]-_backward_IdentityAttachKLSparseReg args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_IdentityAttachKLSparseReg_upd ::-                                        forall args .-                                          Fullfilled "_backward_IdentityAttachKLSparseReg(ndarray)"-                                            args =>-                                          [NDArrayHandle] ->-                                            ArgsHMap "_backward_IdentityAttachKLSparseReg(ndarray)"-                                              args-                                              -> IO ()-_backward_IdentityAttachKLSparseReg_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Activation(ndarray)" =-     '[ '("act_type",-          AttrReq (EnumType '["relu", "sigmoid", "softrelu", "tanh"])),-        '("data", AttrOpt NDArrayHandle)]--_Activation ::-            forall args . Fullfilled "_Activation(ndarray)" args =>-              ArgsHMap "_Activation(ndarray)" args -> IO [NDArrayHandle]-_Activation args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe (EnumType '["relu", "sigmoid", "softrelu", "tanh"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Activation_upd ::-                forall args . Fullfilled "_Activation(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_Activation(ndarray)" args -> IO ()-_Activation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe (EnumType '["relu", "sigmoid", "softrelu", "tanh"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Activation(ndarray)" = '[]--_backward_Activation ::-                     forall args . Fullfilled "_backward_Activation(ndarray)" args =>-                       ArgsHMap "_backward_Activation(ndarray)" args -> IO [NDArrayHandle]-_backward_Activation args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Activation_upd ::-                         forall args . Fullfilled "_backward_Activation(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_Activation(ndarray)" args -> IO ()-_backward_Activation_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_UpSampling(ndarray)" = '[]--_backward_UpSampling ::-                     forall args . Fullfilled "_backward_UpSampling(ndarray)" args =>-                       ArgsHMap "_backward_UpSampling(ndarray)" args -> IO [NDArrayHandle]-_backward_UpSampling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_UpSampling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_UpSampling_upd ::-                         forall args . Fullfilled "_backward_UpSampling(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_UpSampling(ndarray)" args -> IO ()-_backward_UpSampling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_UpSampling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Deconvolution(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("adj", AttrOpt [Int]), '("target_shape", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_Deconvolution ::-               forall args . Fullfilled "_Deconvolution(ndarray)" args =>-                 ArgsHMap "_Deconvolution(ndarray)" args -> IO [NDArrayHandle]-_Deconvolution args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("adj",) . showValue <$> (args !? #adj :: Maybe [Int]),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Deconvolution_upd ::-                   forall args . Fullfilled "_Deconvolution(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_Deconvolution(ndarray)" args -> IO ()-_Deconvolution_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("adj",) . showValue <$> (args !? #adj :: Maybe [Int]),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Deconvolution(ndarray)" =-     '[]--_backward_Deconvolution ::-                        forall args . Fullfilled "_backward_Deconvolution(ndarray)" args =>-                          ArgsHMap "_backward_Deconvolution(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_Deconvolution args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Deconvolution_upd ::-                            forall args . Fullfilled "_backward_Deconvolution(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_Deconvolution(ndarray)" args -> IO ()-_backward_Deconvolution_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BilinearSampler(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("grid", AttrOpt NDArrayHandle)]--_BilinearSampler ::-                 forall args . Fullfilled "_BilinearSampler(ndarray)" args =>-                   ArgsHMap "_BilinearSampler(ndarray)" args -> IO [NDArrayHandle]-_BilinearSampler args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("grid",) <$> (args !? #grid :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BilinearSampler_upd ::-                     forall args . Fullfilled "_BilinearSampler(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_BilinearSampler(ndarray)" args -> IO ()-_BilinearSampler_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("grid",) <$> (args !? #grid :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_BilinearSampler(ndarray)" =-     '[]--_backward_BilinearSampler ::-                          forall args .-                            Fullfilled "_backward_BilinearSampler(ndarray)" args =>-                            ArgsHMap "_backward_BilinearSampler(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_BilinearSampler args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_BilinearSampler_upd ::-                              forall args .-                                Fullfilled "_backward_BilinearSampler(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_BilinearSampler(ndarray)" args -> IO ()-_backward_BilinearSampler_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_ROIPooling(ndarray)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float),-        '("data", AttrOpt NDArrayHandle), '("rois", AttrOpt NDArrayHandle)]--_ROIPooling ::-            forall args . Fullfilled "_ROIPooling(ndarray)" args =>-              ArgsHMap "_ROIPooling(ndarray)" args -> IO [NDArrayHandle]-_ROIPooling args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_ROIPooling_upd ::-                forall args . Fullfilled "_ROIPooling(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_ROIPooling(ndarray)" args -> IO ()-_ROIPooling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_ROIPooling(ndarray)" = '[]--_backward_ROIPooling ::-                     forall args . Fullfilled "_backward_ROIPooling(ndarray)" args =>-                       ArgsHMap "_backward_ROIPooling(ndarray)" args -> IO [NDArrayHandle]-_backward_ROIPooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_ROIPooling_upd ::-                         forall args . Fullfilled "_backward_ROIPooling(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_ROIPooling(ndarray)" args -> IO ()-_backward_ROIPooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SliceChannel(ndarray)" = '[]--_backward_SliceChannel ::-                       forall args . Fullfilled "_backward_SliceChannel(ndarray)" args =>-                         ArgsHMap "_backward_SliceChannel(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_SliceChannel args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SliceChannel_upd ::-                           forall args . Fullfilled "_backward_SliceChannel(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_SliceChannel(ndarray)" args -> IO ()-_backward_SliceChannel_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_CuDNNBatchNorm(ndarray)" =-     '[]--_backward_CuDNNBatchNorm ::-                         forall args .-                           Fullfilled "_backward_CuDNNBatchNorm(ndarray)" args =>-                           ArgsHMap "_backward_CuDNNBatchNorm(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_CuDNNBatchNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CuDNNBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_CuDNNBatchNorm_upd ::-                             forall args .-                               Fullfilled "_backward_CuDNNBatchNorm(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_CuDNNBatchNorm(ndarray)" args -> IO ()-_backward_CuDNNBatchNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CuDNNBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_FullyConnected(ndarray)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_FullyConnected ::-                forall args . Fullfilled "_FullyConnected(ndarray)" args =>-                  ArgsHMap "_FullyConnected(ndarray)" args -> IO [NDArrayHandle]-_FullyConnected args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_FullyConnected_upd ::-                    forall args . Fullfilled "_FullyConnected(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_FullyConnected(ndarray)" args -> IO ()-_FullyConnected_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_FullyConnected(ndarray)" =-     '[]--_backward_FullyConnected ::-                         forall args .-                           Fullfilled "_backward_FullyConnected(ndarray)" args =>-                           ArgsHMap "_backward_FullyConnected(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_FullyConnected args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_FullyConnected_upd ::-                             forall args .-                               Fullfilled "_backward_FullyConnected(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_FullyConnected(ndarray)" args -> IO ()-_backward_FullyConnected_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Convolution(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_Convolution ::-             forall args . Fullfilled "_Convolution(ndarray)" args =>-               ArgsHMap "_Convolution(ndarray)" args -> IO [NDArrayHandle]-_Convolution args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Convolution_upd ::-                 forall args . Fullfilled "_Convolution(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_Convolution(ndarray)" args -> IO ()-_Convolution_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Convolution(ndarray)" = '[]--_backward_Convolution ::-                      forall args . Fullfilled "_backward_Convolution(ndarray)" args =>-                        ArgsHMap "_backward_Convolution(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_Convolution args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Convolution_upd ::-                          forall args . Fullfilled "_backward_Convolution(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_Convolution(ndarray)" args -> IO ()-_backward_Convolution_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_L2Normalization(ndarray)" =-     '[ '("eps", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["channel", "instance", "spatial"])),-        '("data", AttrOpt NDArrayHandle)]--_L2Normalization ::-                 forall args . Fullfilled "_L2Normalization(ndarray)" args =>-                   ArgsHMap "_L2Normalization(ndarray)" args -> IO [NDArrayHandle]-_L2Normalization args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["channel", "instance", "spatial"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_L2Normalization_upd ::-                     forall args . Fullfilled "_L2Normalization(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_L2Normalization(ndarray)" args -> IO ()-_L2Normalization_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["channel", "instance", "spatial"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_L2Normalization(ndarray)" =-     '[]--_backward_L2Normalization ::-                          forall args .-                            Fullfilled "_backward_L2Normalization(ndarray)" args =>-                            ArgsHMap "_backward_L2Normalization(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_L2Normalization args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_L2Normalization_upd ::-                              forall args .-                                Fullfilled "_backward_L2Normalization(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_L2Normalization(ndarray)" args -> IO ()-_backward_L2Normalization_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Concat(ndarray)" = '[]--_backward_Concat ::-                 forall args . Fullfilled "_backward_Concat(ndarray)" args =>-                   ArgsHMap "_backward_Concat(ndarray)" args -> IO [NDArrayHandle]-_backward_Concat args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Concat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Concat_upd ::-                     forall args . Fullfilled "_backward_Concat(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_Concat(ndarray)" args -> IO ()-_backward_Concat_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Concat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_RNN(ndarray)" =-     '[ '("state_size", AttrReq Int), '("num_layers", AttrReq Int),-        '("bidirectional", AttrOpt Bool),-        '("mode",-          AttrReq (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-        '("p", AttrOpt Float), '("state_outputs", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("parameters", AttrOpt NDArrayHandle),-        '("state", AttrOpt NDArrayHandle),-        '("state_cell", AttrOpt NDArrayHandle)]--_RNN ::-     forall args . Fullfilled "_RNN(ndarray)" args =>-       ArgsHMap "_RNN(ndarray)" args -> IO [NDArrayHandle]-_RNN args-  = let scalarArgs-          = catMaybes-              [("state_size",) . showValue <$>-                 (args !? #state_size :: Maybe Int),-               ("num_layers",) . showValue <$> (args !? #num_layers :: Maybe Int),-               ("bidirectional",) . showValue <$>-                 (args !? #bidirectional :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("state_outputs",) . showValue <$>-                 (args !? #state_outputs :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("parameters",) <$> (args !? #parameters :: Maybe NDArrayHandle),-               ("state",) <$> (args !? #state :: Maybe NDArrayHandle),-               ("state_cell",) <$> (args !? #state_cell :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_RNN_upd ::-         forall args . Fullfilled "_RNN(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_RNN(ndarray)" args -> IO ()-_RNN_upd outputs args-  = let scalarArgs-          = catMaybes-              [("state_size",) . showValue <$>-                 (args !? #state_size :: Maybe Int),-               ("num_layers",) . showValue <$> (args !? #num_layers :: Maybe Int),-               ("bidirectional",) . showValue <$>-                 (args !? #bidirectional :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("state_outputs",) . showValue <$>-                 (args !? #state_outputs :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("parameters",) <$> (args !? #parameters :: Maybe NDArrayHandle),-               ("state",) <$> (args !? #state :: Maybe NDArrayHandle),-               ("state_cell",) <$> (args !? #state_cell :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_RNN(ndarray)" = '[]--_backward_RNN ::-              forall args . Fullfilled "_backward_RNN(ndarray)" args =>-                ArgsHMap "_backward_RNN(ndarray)" args -> IO [NDArrayHandle]-_backward_RNN args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_RNN_upd ::-                  forall args . Fullfilled "_backward_RNN(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_RNN(ndarray)" args -> IO ()-_backward_RNN_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_BatchNorm(ndarray)" = '[]--_backward_BatchNorm ::-                    forall args . Fullfilled "_backward_BatchNorm(ndarray)" args =>-                      ArgsHMap "_backward_BatchNorm(ndarray)" args -> IO [NDArrayHandle]-_backward_BatchNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_BatchNorm_upd ::-                        forall args . Fullfilled "_backward_BatchNorm(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_BatchNorm(ndarray)" args -> IO ()-_backward_BatchNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Dropout(ndarray)" =-     '[ '("p", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["always", "training"])),-        '("data", AttrOpt NDArrayHandle)]--_Dropout ::-         forall args . Fullfilled "_Dropout(ndarray)" args =>-           ArgsHMap "_Dropout(ndarray)" args -> IO [NDArrayHandle]-_Dropout args-  = let scalarArgs-          = catMaybes-              [("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["always", "training"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Dropout_upd ::-             forall args . Fullfilled "_Dropout(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Dropout(ndarray)" args -> IO ()-_Dropout_upd outputs args-  = let scalarArgs-          = catMaybes-              [("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["always", "training"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Dropout(ndarray)" = '[]--_backward_Dropout ::-                  forall args . Fullfilled "_backward_Dropout(ndarray)" args =>-                    ArgsHMap "_backward_Dropout(ndarray)" args -> IO [NDArrayHandle]-_backward_Dropout args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Dropout_upd ::-                      forall args . Fullfilled "_backward_Dropout(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_Dropout(ndarray)" args -> IO ()-_backward_Dropout_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CrossDeviceCopy(ndarray)" = '[]--_CrossDeviceCopy ::-                 forall args . Fullfilled "_CrossDeviceCopy(ndarray)" args =>-                   ArgsHMap "_CrossDeviceCopy(ndarray)" args -> IO [NDArrayHandle]-_CrossDeviceCopy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CrossDeviceCopy_upd ::-                     forall args . Fullfilled "_CrossDeviceCopy(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_CrossDeviceCopy(ndarray)" args -> IO ()-_CrossDeviceCopy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__CrossDeviceCopy(ndarray)" =-     '[]--_backward__CrossDeviceCopy ::-                           forall args .-                             Fullfilled "_backward__CrossDeviceCopy(ndarray)" args =>-                             ArgsHMap "_backward__CrossDeviceCopy(ndarray)" args ->-                               IO [NDArrayHandle]-_backward__CrossDeviceCopy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__CrossDeviceCopy_upd ::-                               forall args .-                                 Fullfilled "_backward__CrossDeviceCopy(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_backward__CrossDeviceCopy(ndarray)" args -> IO ()-_backward__CrossDeviceCopy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SoftmaxActivation(ndarray)" =-     '[ '("mode", AttrOpt (EnumType '["channel", "instance"])),-        '("data", AttrOpt NDArrayHandle)]--_SoftmaxActivation ::-                   forall args . Fullfilled "_SoftmaxActivation(ndarray)" args =>-                     ArgsHMap "_SoftmaxActivation(ndarray)" args -> IO [NDArrayHandle]-_SoftmaxActivation args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["channel", "instance"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SoftmaxActivation_upd ::-                       forall args . Fullfilled "_SoftmaxActivation(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_SoftmaxActivation(ndarray)" args -> IO ()-_SoftmaxActivation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["channel", "instance"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SoftmaxActivation(ndarray)"-     = '[]--_backward_SoftmaxActivation ::-                            forall args .-                              Fullfilled "_backward_SoftmaxActivation(ndarray)" args =>-                              ArgsHMap "_backward_SoftmaxActivation(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_SoftmaxActivation args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SoftmaxActivation_upd ::-                                forall args .-                                  Fullfilled "_backward_SoftmaxActivation(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_SoftmaxActivation(ndarray)" args -> IO ()-_backward_SoftmaxActivation_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_set_value(ndarray)" =-     '[ '("src", AttrOpt Float)]--_set_value ::-           forall args . Fullfilled "_set_value(ndarray)" args =>-             ArgsHMap "_set_value(ndarray)" args -> IO [NDArrayHandle]-_set_value args-  = let scalarArgs-          = catMaybes-              [("src",) . showValue <$> (args !? #src :: Maybe Float)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_set_value"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_set_value_upd ::-               forall args . Fullfilled "_set_value(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_set_value(ndarray)" args -> IO ()-_set_value_upd outputs args-  = let scalarArgs-          = catMaybes-              [("src",) . showValue <$> (args !? #src :: Maybe Float)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_set_value"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_onehot_encode(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_onehot_encode ::-               forall args . Fullfilled "_onehot_encode(ndarray)" args =>-                 ArgsHMap "_onehot_encode(ndarray)" args -> IO [NDArrayHandle]-_onehot_encode args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_onehot_encode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_onehot_encode_upd ::-                   forall args . Fullfilled "_onehot_encode(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_onehot_encode(ndarray)" args -> IO ()-_onehot_encode_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_onehot_encode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "choose_element_0index(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--choose_element_0index ::-                      forall args . Fullfilled "choose_element_0index(ndarray)" args =>-                        ArgsHMap "choose_element_0index(ndarray)" args ->-                          IO [NDArrayHandle]-choose_element_0index args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "choose_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--choose_element_0index_upd ::-                          forall args . Fullfilled "choose_element_0index(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "choose_element_0index(ndarray)" args -> IO ()-choose_element_0index_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "choose_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "fill_element_0index(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("mhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--fill_element_0index ::-                    forall args . Fullfilled "fill_element_0index(ndarray)" args =>-                      ArgsHMap "fill_element_0index(ndarray)" args -> IO [NDArrayHandle]-fill_element_0index args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("mhs",) <$> (args !? #mhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fill_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--fill_element_0index_upd ::-                        forall args . Fullfilled "fill_element_0index(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "fill_element_0index(ndarray)" args -> IO ()-fill_element_0index_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("mhs",) <$> (args !? #mhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fill_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_imdecode(ndarray)" =-     '[ '("index", AttrOpt Int), '("x0", AttrOpt Int),-        '("y0", AttrOpt Int), '("x1", AttrOpt Int), '("y1", AttrOpt Int),-        '("c", AttrOpt Int), '("size", AttrOpt Int),-        '("mean", AttrOpt NDArrayHandle)]--_imdecode ::-          forall args . Fullfilled "_imdecode(ndarray)" args =>-            ArgsHMap "_imdecode(ndarray)" args -> IO [NDArrayHandle]-_imdecode args-  = let scalarArgs-          = catMaybes-              [("index",) . showValue <$> (args !? #index :: Maybe Int),-               ("x0",) . showValue <$> (args !? #x0 :: Maybe Int),-               ("y0",) . showValue <$> (args !? #y0 :: Maybe Int),-               ("x1",) . showValue <$> (args !? #x1 :: Maybe Int),-               ("y1",) . showValue <$> (args !? #y1 :: Maybe Int),-               ("c",) . showValue <$> (args !? #c :: Maybe Int),-               ("size",) . showValue <$> (args !? #size :: Maybe Int)]-        tensorArgs-          = catMaybes [("mean",) <$> (args !? #mean :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_imdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_imdecode_upd ::-              forall args . Fullfilled "_imdecode(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_imdecode(ndarray)" args -> IO ()-_imdecode_upd outputs args-  = let scalarArgs-          = catMaybes-              [("index",) . showValue <$> (args !? #index :: Maybe Int),-               ("x0",) . showValue <$> (args !? #x0 :: Maybe Int),-               ("y0",) . showValue <$> (args !? #y0 :: Maybe Int),-               ("x1",) . showValue <$> (args !? #x1 :: Maybe Int),-               ("y1",) . showValue <$> (args !? #y1 :: Maybe Int),-               ("c",) . showValue <$> (args !? #c :: Maybe Int),-               ("size",) . showValue <$> (args !? #size :: Maybe Int)]-        tensorArgs-          = catMaybes [("mean",) <$> (args !? #mean :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_imdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()
− ops/1.0/MXNet/Base/Operators/Symbol.hs
@@ -1,9339 +0,0 @@-module MXNet.Base.Operators.Symbol where-import MXNet.Base.Raw-import MXNet.Base.Spec.Operator-import MXNet.Base.Spec.HMap-import Data.Maybe (catMaybes, fromMaybe)--type instance ParameterList "broadcast_power(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_power ::-                forall args . Fullfilled "broadcast_power(symbol)" args =>-                  String ->-                    ArgsHMap "broadcast_power(symbol)" args -> IO SymbolHandle-broadcast_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_power(symbol)" =-     '[]--_backward_broadcast_power ::-                          forall args .-                            Fullfilled "_backward_broadcast_power(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_broadcast_power(symbol)" args ->-                                IO SymbolHandle-_backward_broadcast_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_maximum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_maximum ::-                  forall args . Fullfilled "broadcast_maximum(symbol)" args =>-                    String ->-                      ArgsHMap "broadcast_maximum(symbol)" args -> IO SymbolHandle-broadcast_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_maximum(symbol)" =-     '[]--_backward_broadcast_maximum ::-                            forall args .-                              Fullfilled "_backward_broadcast_maximum(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_broadcast_maximum(symbol)" args ->-                                  IO SymbolHandle-_backward_broadcast_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_minimum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_minimum ::-                  forall args . Fullfilled "broadcast_minimum(symbol)" args =>-                    String ->-                      ArgsHMap "broadcast_minimum(symbol)" args -> IO SymbolHandle-broadcast_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_minimum(symbol)" =-     '[]--_backward_broadcast_minimum ::-                            forall args .-                              Fullfilled "_backward_broadcast_minimum(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_broadcast_minimum(symbol)" args ->-                                  IO SymbolHandle-_backward_broadcast_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_hypot(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_hypot ::-                forall args . Fullfilled "broadcast_hypot(symbol)" args =>-                  String ->-                    ArgsHMap "broadcast_hypot(symbol)" args -> IO SymbolHandle-broadcast_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_hypot(symbol)" =-     '[]--_backward_broadcast_hypot ::-                          forall args .-                            Fullfilled "_backward_broadcast_hypot(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_broadcast_hypot(symbol)" args ->-                                IO SymbolHandle-_backward_broadcast_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_equal ::-       forall args . Fullfilled "_equal(symbol)" args =>-         String -> ArgsHMap "_equal(symbol)" args -> IO SymbolHandle-_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_not_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_not_equal ::-           forall args . Fullfilled "_not_equal(symbol)" args =>-             String -> ArgsHMap "_not_equal(symbol)" args -> IO SymbolHandle-_not_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_greater ::-         forall args . Fullfilled "_greater(symbol)" args =>-           String -> ArgsHMap "_greater(symbol)" args -> IO SymbolHandle-_greater name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_greater_equal ::-               forall args . Fullfilled "_greater_equal(symbol)" args =>-                 String -> ArgsHMap "_greater_equal(symbol)" args -> IO SymbolHandle-_greater_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_lesser ::-        forall args . Fullfilled "_lesser(symbol)" args =>-          String -> ArgsHMap "_lesser(symbol)" args -> IO SymbolHandle-_lesser name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_lesser_equal ::-              forall args . Fullfilled "_lesser_equal(symbol)" args =>-                String -> ArgsHMap "_lesser_equal(symbol)" args -> IO SymbolHandle-_lesser_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_power(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_power ::-       forall args . Fullfilled "_power(symbol)" args =>-         String -> ArgsHMap "_power(symbol)" args -> IO SymbolHandle-_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_power(symbol)" = '[]--_backward_power ::-                forall args . Fullfilled "_backward_power(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_power(symbol)" args -> IO SymbolHandle-_backward_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_maximum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_maximum ::-         forall args . Fullfilled "_maximum(symbol)" args =>-           String -> ArgsHMap "_maximum(symbol)" args -> IO SymbolHandle-_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_maximum(symbol)" = '[]--_backward_maximum ::-                  forall args . Fullfilled "_backward_maximum(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_maximum(symbol)" args -> IO SymbolHandle-_backward_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_minimum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_minimum ::-         forall args . Fullfilled "_minimum(symbol)" args =>-           String -> ArgsHMap "_minimum(symbol)" args -> IO SymbolHandle-_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_minimum(symbol)" = '[]--_backward_minimum ::-                  forall args . Fullfilled "_backward_minimum(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_minimum(symbol)" args -> IO SymbolHandle-_backward_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_hypot(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_hypot ::-       forall args . Fullfilled "_hypot(symbol)" args =>-         String -> ArgsHMap "_hypot(symbol)" args -> IO SymbolHandle-_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_hypot(symbol)" = '[]--_backward_hypot ::-                forall args . Fullfilled "_backward_hypot(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_hypot(symbol)" args -> IO SymbolHandle-_backward_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_square_sum(symbol)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--_square_sum ::-            forall args . Fullfilled "_square_sum(symbol)" args =>-              String -> ArgsHMap "_square_sum(symbol)" args -> IO SymbolHandle-_square_sum name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_square_sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_square_sum(symbol)" = '[]--_backward_square_sum ::-                     forall args . Fullfilled "_backward_square_sum(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_square_sum(symbol)" args -> IO SymbolHandle-_backward_square_sum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square_sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "add_n(symbol)" =-     '[ '("args", AttrOpt [SymbolHandle])]--add_n ::-      forall args . Fullfilled "add_n(symbol)" args =>-        String -> ArgsHMap "add_n(symbol)" args -> IO SymbolHandle-add_n name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "add_n"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_zeros(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]--_zeros ::-       forall args . Fullfilled "_zeros(symbol)" args =>-         String -> ArgsHMap "_zeros(symbol)" args -> IO SymbolHandle-_zeros name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_ones(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]--_ones ::-      forall args . Fullfilled "_ones(symbol)" args =>-        String -> ArgsHMap "_ones(symbol)" args -> IO SymbolHandle-_ones name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ones"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_full(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("value", AttrReq Double)]--_full ::-      forall args . Fullfilled "_full(symbol)" args =>-        String -> ArgsHMap "_full(symbol)" args -> IO SymbolHandle-_full name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-               ("value",) . showValue <$> (args !? #value :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_full"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_arange(symbol)" =-     '[ '("start", AttrReq Double), '("stop", AttrOpt (Maybe Double)),-        '("step", AttrOpt Double), '("repeat", AttrOpt Int),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "uint8"]))]--_arange ::-        forall args . Fullfilled "_arange(symbol)" args =>-          String -> ArgsHMap "_arange(symbol)" args -> IO SymbolHandle-_arange name args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_arange"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "zeros_like(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--zeros_like ::-           forall args . Fullfilled "zeros_like(symbol)" args =>-             String -> ArgsHMap "zeros_like(symbol)" args -> IO SymbolHandle-zeros_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "zeros_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ones_like(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--ones_like ::-          forall args . Fullfilled "ones_like(symbol)" args =>-            String -> ArgsHMap "ones_like(symbol)" args -> IO SymbolHandle-ones_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ones_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_add(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_add ::-              forall args . Fullfilled "broadcast_add(symbol)" args =>-                String -> ArgsHMap "broadcast_add(symbol)" args -> IO SymbolHandle-broadcast_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_add(symbol)" = '[]--_backward_broadcast_add ::-                        forall args . Fullfilled "_backward_broadcast_add(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_add(symbol)" args -> IO SymbolHandle-_backward_broadcast_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_sub(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_sub ::-              forall args . Fullfilled "broadcast_sub(symbol)" args =>-                String -> ArgsHMap "broadcast_sub(symbol)" args -> IO SymbolHandle-broadcast_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_sub(symbol)" = '[]--_backward_broadcast_sub ::-                        forall args . Fullfilled "_backward_broadcast_sub(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_sub(symbol)" args -> IO SymbolHandle-_backward_broadcast_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_mul(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_mul ::-              forall args . Fullfilled "broadcast_mul(symbol)" args =>-                String -> ArgsHMap "broadcast_mul(symbol)" args -> IO SymbolHandle-broadcast_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_mul(symbol)" = '[]--_backward_broadcast_mul ::-                        forall args . Fullfilled "_backward_broadcast_mul(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_mul(symbol)" args -> IO SymbolHandle-_backward_broadcast_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_div(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_div ::-              forall args . Fullfilled "broadcast_div(symbol)" args =>-                String -> ArgsHMap "broadcast_div(symbol)" args -> IO SymbolHandle-broadcast_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_div(symbol)" = '[]--_backward_broadcast_div ::-                        forall args . Fullfilled "_backward_broadcast_div(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_div(symbol)" args -> IO SymbolHandle-_backward_broadcast_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_mod(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_mod ::-              forall args . Fullfilled "broadcast_mod(symbol)" args =>-                String -> ArgsHMap "broadcast_mod(symbol)" args -> IO SymbolHandle-broadcast_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_mod(symbol)" = '[]--_backward_broadcast_mod ::-                        forall args . Fullfilled "_backward_broadcast_mod(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_mod(symbol)" args -> IO SymbolHandle-_backward_broadcast_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_gemm(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("beta", AttrOpt Double),-        '("_A", AttrOpt SymbolHandle), '("_B", AttrOpt SymbolHandle),-        '("_C", AttrOpt SymbolHandle)]--_linalg_gemm ::-             forall args . Fullfilled "_linalg_gemm(symbol)" args =>-               String -> ArgsHMap "_linalg_gemm(symbol)" args -> IO SymbolHandle-_linalg_gemm name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle),-               ("_C",) <$> (args !? #_C :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_gemm(symbol)" = '[]--_backward_linalg_gemm ::-                      forall args . Fullfilled "_backward_linalg_gemm(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_gemm(symbol)" args -> IO SymbolHandle-_backward_linalg_gemm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_gemm2(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("_A", AttrOpt SymbolHandle),-        '("_B", AttrOpt SymbolHandle)]--_linalg_gemm2 ::-              forall args . Fullfilled "_linalg_gemm2(symbol)" args =>-                String -> ArgsHMap "_linalg_gemm2(symbol)" args -> IO SymbolHandle-_linalg_gemm2 name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_gemm2(symbol)" = '[]--_backward_linalg_gemm2 ::-                       forall args . Fullfilled "_backward_linalg_gemm2(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_gemm2(symbol)" args -> IO SymbolHandle-_backward_linalg_gemm2 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_potrf(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_potrf ::-              forall args . Fullfilled "_linalg_potrf(symbol)" args =>-                String -> ArgsHMap "_linalg_potrf(symbol)" args -> IO SymbolHandle-_linalg_potrf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potrf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_potrf(symbol)" = '[]--_backward_linalg_potrf ::-                       forall args . Fullfilled "_backward_linalg_potrf(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_potrf(symbol)" args -> IO SymbolHandle-_backward_linalg_potrf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potrf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_potri(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_potri ::-              forall args . Fullfilled "_linalg_potri(symbol)" args =>-                String -> ArgsHMap "_linalg_potri(symbol)" args -> IO SymbolHandle-_linalg_potri name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potri"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_potri(symbol)" = '[]--_backward_linalg_potri ::-                       forall args . Fullfilled "_backward_linalg_potri(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_potri(symbol)" args -> IO SymbolHandle-_backward_linalg_potri name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potri"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_trmm(symbol)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("_A", AttrOpt SymbolHandle),-        '("_B", AttrOpt SymbolHandle)]--_linalg_trmm ::-             forall args . Fullfilled "_linalg_trmm(symbol)" args =>-               String -> ArgsHMap "_linalg_trmm(symbol)" args -> IO SymbolHandle-_linalg_trmm name args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trmm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_trmm(symbol)" = '[]--_backward_linalg_trmm ::-                      forall args . Fullfilled "_backward_linalg_trmm(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_trmm(symbol)" args -> IO SymbolHandle-_backward_linalg_trmm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trmm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_trsm(symbol)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("_A", AttrOpt SymbolHandle),-        '("_B", AttrOpt SymbolHandle)]--_linalg_trsm ::-             forall args . Fullfilled "_linalg_trsm(symbol)" args =>-               String -> ArgsHMap "_linalg_trsm(symbol)" args -> IO SymbolHandle-_linalg_trsm name args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trsm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_trsm(symbol)" = '[]--_backward_linalg_trsm ::-                      forall args . Fullfilled "_backward_linalg_trsm(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_trsm(symbol)" args -> IO SymbolHandle-_backward_linalg_trsm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trsm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_sumlogdiag(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_sumlogdiag ::-                   forall args . Fullfilled "_linalg_sumlogdiag(symbol)" args =>-                     String ->-                       ArgsHMap "_linalg_sumlogdiag(symbol)" args -> IO SymbolHandle-_linalg_sumlogdiag name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_sumlogdiag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_sumlogdiag(symbol)" =-     '[]--_backward_linalg_sumlogdiag ::-                            forall args .-                              Fullfilled "_backward_linalg_sumlogdiag(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_linalg_sumlogdiag(symbol)" args ->-                                  IO SymbolHandle-_backward_linalg_sumlogdiag name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_sumlogdiag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_syrk(symbol)" =-     '[ '("transpose", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt SymbolHandle)]--_linalg_syrk ::-             forall args . Fullfilled "_linalg_syrk(symbol)" args =>-               String -> ArgsHMap "_linalg_syrk(symbol)" args -> IO SymbolHandle-_linalg_syrk name args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syrk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_syrk(symbol)" = '[]--_backward_linalg_syrk ::-                      forall args . Fullfilled "_backward_linalg_syrk(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_syrk(symbol)" args -> IO SymbolHandle-_backward_linalg_syrk name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syrk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_gelqf(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_gelqf ::-              forall args . Fullfilled "_linalg_gelqf(symbol)" args =>-                String -> ArgsHMap "_linalg_gelqf(symbol)" args -> IO SymbolHandle-_linalg_gelqf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gelqf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_gelqf(symbol)" = '[]--_backward_linalg_gelqf ::-                       forall args . Fullfilled "_backward_linalg_gelqf(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_gelqf(symbol)" args -> IO SymbolHandle-_backward_linalg_gelqf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gelqf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_syevd(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_syevd ::-              forall args . Fullfilled "_linalg_syevd(symbol)" args =>-                String -> ArgsHMap "_linalg_syevd(symbol)" args -> IO SymbolHandle-_linalg_syevd name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syevd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_syevd(symbol)" = '[]--_backward_linalg_syevd ::-                       forall args . Fullfilled "_backward_linalg_syevd(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_syevd(symbol)" args -> IO SymbolHandle-_backward_linalg_syevd name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syevd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cast_storage(symbol)" =-     '[ '("stype",-          AttrReq (EnumType '["csr", "default", "row_sparse"])),-        '("data", AttrOpt SymbolHandle)]--cast_storage ::-             forall args . Fullfilled "cast_storage(symbol)" args =>-               String -> ArgsHMap "cast_storage(symbol)" args -> IO SymbolHandle-cast_storage name args-  = let scalarArgs-          = catMaybes-              [("stype",) . showValue <$>-                 (args !? #stype ::-                    Maybe (EnumType '["csr", "default", "row_sparse"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cast_storage"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_equal_scalar ::-              forall args . Fullfilled "_equal_scalar(symbol)" args =>-                String -> ArgsHMap "_equal_scalar(symbol)" args -> IO SymbolHandle-_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_not_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_not_equal_scalar ::-                  forall args . Fullfilled "_not_equal_scalar(symbol)" args =>-                    String ->-                      ArgsHMap "_not_equal_scalar(symbol)" args -> IO SymbolHandle-_not_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_greater_scalar ::-                forall args . Fullfilled "_greater_scalar(symbol)" args =>-                  String ->-                    ArgsHMap "_greater_scalar(symbol)" args -> IO SymbolHandle-_greater_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_greater_equal_scalar ::-                      forall args . Fullfilled "_greater_equal_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_greater_equal_scalar(symbol)" args -> IO SymbolHandle-_greater_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_lesser_scalar ::-               forall args . Fullfilled "_lesser_scalar(symbol)" args =>-                 String -> ArgsHMap "_lesser_scalar(symbol)" args -> IO SymbolHandle-_lesser_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_lesser_equal_scalar ::-                     forall args . Fullfilled "_lesser_equal_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_lesser_equal_scalar(symbol)" args -> IO SymbolHandle-_lesser_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "relu(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--relu ::-     forall args . Fullfilled "relu(symbol)" args =>-       String -> ArgsHMap "relu(symbol)" args -> IO SymbolHandle-relu name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "relu"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_relu(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_relu ::-               forall args . Fullfilled "_backward_relu(symbol)" args =>-                 String -> ArgsHMap "_backward_relu(symbol)" args -> IO SymbolHandle-_backward_relu name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_relu"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sigmoid(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sigmoid ::-        forall args . Fullfilled "sigmoid(symbol)" args =>-          String -> ArgsHMap "sigmoid(symbol)" args -> IO SymbolHandle-sigmoid name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sigmoid(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sigmoid ::-                  forall args . Fullfilled "_backward_sigmoid(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_sigmoid(symbol)" args -> IO SymbolHandle-_backward_sigmoid name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_copy(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_copy ::-      forall args . Fullfilled "_copy(symbol)" args =>-        String -> ArgsHMap "_copy(symbol)" args -> IO SymbolHandle-_copy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_copy(symbol)" = '[]--_backward_copy ::-               forall args . Fullfilled "_backward_copy(symbol)" args =>-                 String -> ArgsHMap "_backward_copy(symbol)" args -> IO SymbolHandle-_backward_copy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_copy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BlockGrad(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_BlockGrad ::-           forall args . Fullfilled "_BlockGrad(symbol)" args =>-             String -> ArgsHMap "_BlockGrad(symbol)" args -> IO SymbolHandle-_BlockGrad name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BlockGrad"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "make_loss(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--make_loss ::-          forall args . Fullfilled "make_loss(symbol)" args =>-            String -> ArgsHMap "make_loss(symbol)" args -> IO SymbolHandle-make_loss name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "make_loss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_identity_with_attr_like_rhs(symbol)"-     =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_identity_with_attr_like_rhs ::-                             forall args .-                               Fullfilled "_identity_with_attr_like_rhs(symbol)" args =>-                               String ->-                                 ArgsHMap "_identity_with_attr_like_rhs(symbol)" args ->-                                   IO SymbolHandle-_identity_with_attr_like_rhs name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_identity_with_attr_like_rhs"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "reshape_like(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--reshape_like ::-             forall args . Fullfilled "reshape_like(symbol)" args =>-               String -> ArgsHMap "reshape_like(symbol)" args -> IO SymbolHandle-reshape_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reshape_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Cast(symbol)" =-     '[ '("dtype",-          AttrReq-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt SymbolHandle)]--_Cast ::-      forall args . Fullfilled "_Cast(symbol)" args =>-        String -> ArgsHMap "_Cast(symbol)" args -> IO SymbolHandle-_Cast name args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Cast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cast(symbol)" = '[]--_backward_cast ::-               forall args . Fullfilled "_backward_cast(symbol)" args =>-                 String -> ArgsHMap "_backward_cast(symbol)" args -> IO SymbolHandle-_backward_cast name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "negative(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--negative ::-         forall args . Fullfilled "negative(symbol)" args =>-           String -> ArgsHMap "negative(symbol)" args -> IO SymbolHandle-negative name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "negative"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "reciprocal(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--reciprocal ::-           forall args . Fullfilled "reciprocal(symbol)" args =>-             String -> ArgsHMap "reciprocal(symbol)" args -> IO SymbolHandle-reciprocal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reciprocal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_reciprocal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_reciprocal ::-                     forall args . Fullfilled "_backward_reciprocal(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_reciprocal(symbol)" args -> IO SymbolHandle-_backward_reciprocal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reciprocal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "abs(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--abs ::-    forall args . Fullfilled "abs(symbol)" args =>-      String -> ArgsHMap "abs(symbol)" args -> IO SymbolHandle-abs name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "abs"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_abs(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_abs ::-              forall args . Fullfilled "_backward_abs(symbol)" args =>-                String -> ArgsHMap "_backward_abs(symbol)" args -> IO SymbolHandle-_backward_abs name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_abs"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sign(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sign ::-     forall args . Fullfilled "sign(symbol)" args =>-       String -> ArgsHMap "sign(symbol)" args -> IO SymbolHandle-sign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sign(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sign ::-               forall args . Fullfilled "_backward_sign(symbol)" args =>-                 String -> ArgsHMap "_backward_sign(symbol)" args -> IO SymbolHandle-_backward_sign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "round(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--round ::-      forall args . Fullfilled "round(symbol)" args =>-        String -> ArgsHMap "round(symbol)" args -> IO SymbolHandle-round name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "round"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rint(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--rint ::-     forall args . Fullfilled "rint(symbol)" args =>-       String -> ArgsHMap "rint(symbol)" args -> IO SymbolHandle-rint name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rint"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ceil(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--ceil ::-     forall args . Fullfilled "ceil(symbol)" args =>-       String -> ArgsHMap "ceil(symbol)" args -> IO SymbolHandle-ceil name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ceil"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "floor(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--floor ::-      forall args . Fullfilled "floor(symbol)" args =>-        String -> ArgsHMap "floor(symbol)" args -> IO SymbolHandle-floor name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "floor"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "trunc(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--trunc ::-      forall args . Fullfilled "trunc(symbol)" args =>-        String -> ArgsHMap "trunc(symbol)" args -> IO SymbolHandle-trunc name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "trunc"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "fix(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--fix ::-    forall args . Fullfilled "fix(symbol)" args =>-      String -> ArgsHMap "fix(symbol)" args -> IO SymbolHandle-fix name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fix"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "square(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--square ::-       forall args . Fullfilled "square(symbol)" args =>-         String -> ArgsHMap "square(symbol)" args -> IO SymbolHandle-square name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "square"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_square(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_square ::-                 forall args . Fullfilled "_backward_square(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_square(symbol)" args -> IO SymbolHandle-_backward_square name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sqrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sqrt ::-     forall args . Fullfilled "sqrt(symbol)" args =>-       String -> ArgsHMap "sqrt(symbol)" args -> IO SymbolHandle-sqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sqrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sqrt ::-               forall args . Fullfilled "_backward_sqrt(symbol)" args =>-                 String -> ArgsHMap "_backward_sqrt(symbol)" args -> IO SymbolHandle-_backward_sqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rsqrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--rsqrt ::-      forall args . Fullfilled "rsqrt(symbol)" args =>-        String -> ArgsHMap "rsqrt(symbol)" args -> IO SymbolHandle-rsqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rsqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rsqrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_rsqrt ::-                forall args . Fullfilled "_backward_rsqrt(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_rsqrt(symbol)" args -> IO SymbolHandle-_backward_rsqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rsqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cbrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--cbrt ::-     forall args . Fullfilled "cbrt(symbol)" args =>-       String -> ArgsHMap "cbrt(symbol)" args -> IO SymbolHandle-cbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cbrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_cbrt ::-               forall args . Fullfilled "_backward_cbrt(symbol)" args =>-                 String -> ArgsHMap "_backward_cbrt(symbol)" args -> IO SymbolHandle-_backward_cbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rcbrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--rcbrt ::-      forall args . Fullfilled "rcbrt(symbol)" args =>-        String -> ArgsHMap "rcbrt(symbol)" args -> IO SymbolHandle-rcbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rcbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rcbrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_rcbrt ::-                forall args . Fullfilled "_backward_rcbrt(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_rcbrt(symbol)" args -> IO SymbolHandle-_backward_rcbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rcbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "exp(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--exp ::-    forall args . Fullfilled "exp(symbol)" args =>-      String -> ArgsHMap "exp(symbol)" args -> IO SymbolHandle-exp name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "exp"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log ::-    forall args . Fullfilled "log(symbol)" args =>-      String -> ArgsHMap "log(symbol)" args -> IO SymbolHandle-log name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log10(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log10 ::-      forall args . Fullfilled "log10(symbol)" args =>-        String -> ArgsHMap "log10(symbol)" args -> IO SymbolHandle-log10 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log10"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log2(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log2 ::-     forall args . Fullfilled "log2(symbol)" args =>-       String -> ArgsHMap "log2(symbol)" args -> IO SymbolHandle-log2 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log ::-              forall args . Fullfilled "_backward_log(symbol)" args =>-                String -> ArgsHMap "_backward_log(symbol)" args -> IO SymbolHandle-_backward_log name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log10(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log10 ::-                forall args . Fullfilled "_backward_log10(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_log10(symbol)" args -> IO SymbolHandle-_backward_log10 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log10"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log2(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log2 ::-               forall args . Fullfilled "_backward_log2(symbol)" args =>-                 String -> ArgsHMap "_backward_log2(symbol)" args -> IO SymbolHandle-_backward_log2 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log1p(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log1p ::-      forall args . Fullfilled "log1p(symbol)" args =>-        String -> ArgsHMap "log1p(symbol)" args -> IO SymbolHandle-log1p name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log1p"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log1p(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log1p ::-                forall args . Fullfilled "_backward_log1p(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_log1p(symbol)" args -> IO SymbolHandle-_backward_log1p name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log1p"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "expm1(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--expm1 ::-      forall args . Fullfilled "expm1(symbol)" args =>-        String -> ArgsHMap "expm1(symbol)" args -> IO SymbolHandle-expm1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expm1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_expm1(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_expm1 ::-                forall args . Fullfilled "_backward_expm1(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_expm1(symbol)" args -> IO SymbolHandle-_backward_expm1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_expm1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "gamma(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--gamma ::-      forall args . Fullfilled "gamma(symbol)" args =>-        String -> ArgsHMap "gamma(symbol)" args -> IO SymbolHandle-gamma name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_gamma(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_gamma ::-                forall args . Fullfilled "_backward_gamma(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_gamma(symbol)" args -> IO SymbolHandle-_backward_gamma name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "gammaln(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--gammaln ::-        forall args . Fullfilled "gammaln(symbol)" args =>-          String -> ArgsHMap "gammaln(symbol)" args -> IO SymbolHandle-gammaln name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gammaln"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_gammaln(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_gammaln ::-                  forall args . Fullfilled "_backward_gammaln(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_gammaln(symbol)" args -> IO SymbolHandle-_backward_gammaln name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gammaln"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sum(symbol)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--sum ::-    forall args . Fullfilled "sum(symbol)" args =>-      String -> ArgsHMap "sum(symbol)" args -> IO SymbolHandle-sum name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sum(symbol)" = '[]--_backward_sum ::-              forall args . Fullfilled "_backward_sum(symbol)" args =>-                String -> ArgsHMap "_backward_sum(symbol)" args -> IO SymbolHandle-_backward_sum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "mean(symbol)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--mean ::-     forall args . Fullfilled "mean(symbol)" args =>-       String -> ArgsHMap "mean(symbol)" args -> IO SymbolHandle-mean name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mean"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mean(symbol)" = '[]--_backward_mean ::-               forall args . Fullfilled "_backward_mean(symbol)" args =>-                 String -> ArgsHMap "_backward_mean(symbol)" args -> IO SymbolHandle-_backward_mean name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mean"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "prod(symbol)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--prod ::-     forall args . Fullfilled "prod(symbol)" args =>-       String -> ArgsHMap "prod(symbol)" args -> IO SymbolHandle-prod name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "prod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_prod(symbol)" = '[]--_backward_prod ::-               forall args . Fullfilled "_backward_prod(symbol)" args =>-                 String -> ArgsHMap "_backward_prod(symbol)" args -> IO SymbolHandle-_backward_prod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_prod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "nansum(symbol)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--nansum ::-       forall args . Fullfilled "nansum(symbol)" args =>-         String -> ArgsHMap "nansum(symbol)" args -> IO SymbolHandle-nansum name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nansum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_nansum(symbol)" = '[]--_backward_nansum ::-                 forall args . Fullfilled "_backward_nansum(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_nansum(symbol)" args -> IO SymbolHandle-_backward_nansum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nansum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "nanprod(symbol)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--nanprod ::-        forall args . Fullfilled "nanprod(symbol)" args =>-          String -> ArgsHMap "nanprod(symbol)" args -> IO SymbolHandle-nanprod name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nanprod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_nanprod(symbol)" = '[]--_backward_nanprod ::-                  forall args . Fullfilled "_backward_nanprod(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_nanprod(symbol)" args -> IO SymbolHandle-_backward_nanprod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nanprod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "max(symbol)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--max ::-    forall args . Fullfilled "max(symbol)" args =>-      String -> ArgsHMap "max(symbol)" args -> IO SymbolHandle-max name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "max"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_max(symbol)" = '[]--_backward_max ::-              forall args . Fullfilled "_backward_max(symbol)" args =>-                String -> ArgsHMap "_backward_max(symbol)" args -> IO SymbolHandle-_backward_max name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_max"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "min(symbol)" =-     '[ '("axis", AttrOpt [Int]), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--min ::-    forall args . Fullfilled "min(symbol)" args =>-      String -> ArgsHMap "min(symbol)" args -> IO SymbolHandle-min name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "min"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_min(symbol)" = '[]--_backward_min ::-              forall args . Fullfilled "_backward_min(symbol)" args =>-                String -> ArgsHMap "_backward_min(symbol)" args -> IO SymbolHandle-_backward_min name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_min"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_axis(symbol)" =-     '[ '("axis", AttrOpt [Int]), '("size", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--broadcast_axis ::-               forall args . Fullfilled "broadcast_axis(symbol)" args =>-                 String -> ArgsHMap "broadcast_axis(symbol)" args -> IO SymbolHandle-broadcast_axis name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("size",) . showValue <$> (args !? #size :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_axis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_to(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--broadcast_to ::-             forall args . Fullfilled "broadcast_to(symbol)" args =>-               String -> ArgsHMap "broadcast_to(symbol)" args -> IO SymbolHandle-broadcast_to name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_to"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_broadcast_backward(symbol)" = '[]--_broadcast_backward ::-                    forall args . Fullfilled "_broadcast_backward(symbol)" args =>-                      String ->-                        ArgsHMap "_broadcast_backward(symbol)" args -> IO SymbolHandle-_broadcast_backward name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_broadcast_backward"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "norm(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--norm ::-     forall args . Fullfilled "norm(symbol)" args =>-       String -> ArgsHMap "norm(symbol)" args -> IO SymbolHandle-norm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "norm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_add(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_add ::-             forall args . Fullfilled "elemwise_add(symbol)" args =>-               String -> ArgsHMap "elemwise_add(symbol)" args -> IO SymbolHandle-elemwise_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_grad_add(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_grad_add ::-          forall args . Fullfilled "_grad_add(symbol)" args =>-            String -> ArgsHMap "_grad_add(symbol)" args -> IO SymbolHandle-_grad_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_grad_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_add(symbol)" = '[]--_backward_add ::-              forall args . Fullfilled "_backward_add(symbol)" args =>-                String -> ArgsHMap "_backward_add(symbol)" args -> IO SymbolHandle-_backward_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_sub(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_sub ::-             forall args . Fullfilled "elemwise_sub(symbol)" args =>-               String -> ArgsHMap "elemwise_sub(symbol)" args -> IO SymbolHandle-elemwise_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sub(symbol)" = '[]--_backward_sub ::-              forall args . Fullfilled "_backward_sub(symbol)" args =>-                String -> ArgsHMap "_backward_sub(symbol)" args -> IO SymbolHandle-_backward_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_mul(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_mul ::-             forall args . Fullfilled "elemwise_mul(symbol)" args =>-               String -> ArgsHMap "elemwise_mul(symbol)" args -> IO SymbolHandle-elemwise_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mul(symbol)" = '[]--_backward_mul ::-              forall args . Fullfilled "_backward_mul(symbol)" args =>-                String -> ArgsHMap "_backward_mul(symbol)" args -> IO SymbolHandle-_backward_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_div(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_div ::-             forall args . Fullfilled "elemwise_div(symbol)" args =>-               String -> ArgsHMap "elemwise_div(symbol)" args -> IO SymbolHandle-elemwise_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_div(symbol)" = '[]--_backward_div ::-              forall args . Fullfilled "_backward_div(symbol)" args =>-                String -> ArgsHMap "_backward_div(symbol)" args -> IO SymbolHandle-_backward_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_mod(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_mod ::-     forall args . Fullfilled "_mod(symbol)" args =>-       String -> ArgsHMap "_mod(symbol)" args -> IO SymbolHandle-_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mod(symbol)" = '[]--_backward_mod ::-              forall args . Fullfilled "_backward_mod(symbol)" args =>-                String -> ArgsHMap "_backward_mod(symbol)" args -> IO SymbolHandle-_backward_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_plus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_plus_scalar ::-             forall args . Fullfilled "_plus_scalar(symbol)" args =>-               String -> ArgsHMap "_plus_scalar(symbol)" args -> IO SymbolHandle-_plus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_plus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_minus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_minus_scalar ::-              forall args . Fullfilled "_minus_scalar(symbol)" args =>-                String -> ArgsHMap "_minus_scalar(symbol)" args -> IO SymbolHandle-_minus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rminus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rminus_scalar ::-               forall args . Fullfilled "_rminus_scalar(symbol)" args =>-                 String -> ArgsHMap "_rminus_scalar(symbol)" args -> IO SymbolHandle-_rminus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rminus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_mul_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_mul_scalar ::-            forall args . Fullfilled "_mul_scalar(symbol)" args =>-              String -> ArgsHMap "_mul_scalar(symbol)" args -> IO SymbolHandle-_mul_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mul_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mul_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_backward_mul_scalar ::-                     forall args . Fullfilled "_backward_mul_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_mul_scalar(symbol)" args -> IO SymbolHandle-_backward_mul_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_div_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_div_scalar ::-            forall args . Fullfilled "_div_scalar(symbol)" args =>-              String -> ArgsHMap "_div_scalar(symbol)" args -> IO SymbolHandle-_div_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_div_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_div_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_backward_div_scalar ::-                     forall args . Fullfilled "_backward_div_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_div_scalar(symbol)" args -> IO SymbolHandle-_backward_div_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rdiv_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rdiv_scalar ::-             forall args . Fullfilled "_rdiv_scalar(symbol)" args =>-               String -> ArgsHMap "_rdiv_scalar(symbol)" args -> IO SymbolHandle-_rdiv_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rdiv_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rdiv_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_rdiv_scalar ::-                      forall args . Fullfilled "_backward_rdiv_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_rdiv_scalar(symbol)" args -> IO SymbolHandle-_backward_rdiv_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rdiv_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_mod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_mod_scalar ::-            forall args . Fullfilled "_mod_scalar(symbol)" args =>-              String -> ArgsHMap "_mod_scalar(symbol)" args -> IO SymbolHandle-_mod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_mod_scalar ::-                     forall args . Fullfilled "_backward_mod_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_mod_scalar(symbol)" args -> IO SymbolHandle-_backward_mod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rmod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rmod_scalar ::-             forall args . Fullfilled "_rmod_scalar(symbol)" args =>-               String -> ArgsHMap "_rmod_scalar(symbol)" args -> IO SymbolHandle-_rmod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rmod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rmod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_rmod_scalar ::-                      forall args . Fullfilled "_backward_rmod_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_rmod_scalar(symbol)" args -> IO SymbolHandle-_backward_rmod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rmod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_elemwise_div(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_scatter_elemwise_div ::-                      forall args . Fullfilled "_scatter_elemwise_div(symbol)" args =>-                        String ->-                          ArgsHMap "_scatter_elemwise_div(symbol)" args -> IO SymbolHandle-_scatter_elemwise_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_elemwise_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_plus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_scatter_plus_scalar ::-                     forall args . Fullfilled "_scatter_plus_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_scatter_plus_scalar(symbol)" args -> IO SymbolHandle-_scatter_plus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_plus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_minus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_scatter_minus_scalar ::-                      forall args . Fullfilled "_scatter_minus_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_scatter_minus_scalar(symbol)" args -> IO SymbolHandle-_scatter_minus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_minus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Embedding(symbol)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle)]--_Embedding ::-           forall args . Fullfilled "_Embedding(symbol)" args =>-             String -> ArgsHMap "_Embedding(symbol)" args -> IO SymbolHandle-_Embedding name args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Embedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_SparseEmbedding(symbol)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle)]--_contrib_SparseEmbedding ::-                         forall args . Fullfilled "_contrib_SparseEmbedding(symbol)" args =>-                           String ->-                             ArgsHMap "_contrib_SparseEmbedding(symbol)" args -> IO SymbolHandle-_contrib_SparseEmbedding name args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SparseEmbedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Embedding(symbol)" = '[]--_backward_Embedding ::-                    forall args . Fullfilled "_backward_Embedding(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_Embedding(symbol)" args -> IO SymbolHandle-_backward_Embedding name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Embedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SparseEmbedding(symbol)" =-     '[]--_backward_SparseEmbedding ::-                          forall args .-                            Fullfilled "_backward_SparseEmbedding(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_SparseEmbedding(symbol)" args ->-                                IO SymbolHandle-_backward_SparseEmbedding name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SparseEmbedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "take(symbol)" =-     '[ '("axis", AttrOpt Int),-        '("mode", AttrOpt (EnumType '["clip", "raise", "wrap"])),-        '("a", AttrOpt SymbolHandle), '("indices", AttrOpt SymbolHandle)]--take ::-     forall args . Fullfilled "take(symbol)" args =>-       String -> ArgsHMap "take(symbol)" args -> IO SymbolHandle-take name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "raise", "wrap"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "take"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_take(symbol)" = '[]--_backward_take ::-               forall args . Fullfilled "_backward_take(symbol)" args =>-                 String -> ArgsHMap "_backward_take(symbol)" args -> IO SymbolHandle-_backward_take name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_take"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "batch_take(symbol)" =-     '[ '("a", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--batch_take ::-           forall args . Fullfilled "batch_take(symbol)" args =>-             String -> ArgsHMap "batch_take(symbol)" args -> IO SymbolHandle-batch_take name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_take"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "one_hot(symbol)" =-     '[ '("depth", AttrReq Int), '("on_value", AttrOpt Double),-        '("off_value", AttrOpt Double),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("indices", AttrOpt SymbolHandle)]--one_hot ::-        forall args . Fullfilled "one_hot(symbol)" args =>-          String -> ArgsHMap "one_hot(symbol)" args -> IO SymbolHandle-one_hot name args-  = let scalarArgs-          = catMaybes-              [("depth",) . showValue <$> (args !? #depth :: Maybe Int),-               ("on_value",) . showValue <$> (args !? #on_value :: Maybe Double),-               ("off_value",) . showValue <$>-                 (args !? #off_value :: Maybe Double),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "one_hot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "gather_nd(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--gather_nd ::-          forall args . Fullfilled "gather_nd(symbol)" args =>-            String -> ArgsHMap "gather_nd(symbol)" args -> IO SymbolHandle-gather_nd name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gather_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "scatter_nd(symbol)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--scatter_nd ::-           forall args . Fullfilled "scatter_nd(symbol)" args =>-             String -> ArgsHMap "scatter_nd(symbol)" args -> IO SymbolHandle-scatter_nd name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "scatter_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_set_nd(symbol)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--_scatter_set_nd ::-                forall args . Fullfilled "_scatter_set_nd(symbol)" args =>-                  String ->-                    ArgsHMap "_scatter_set_nd(symbol)" args -> IO SymbolHandle-_scatter_set_nd name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_set_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_equal ::-                forall args . Fullfilled "broadcast_equal(symbol)" args =>-                  String ->-                    ArgsHMap "broadcast_equal(symbol)" args -> IO SymbolHandle-broadcast_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_not_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_not_equal ::-                    forall args . Fullfilled "broadcast_not_equal(symbol)" args =>-                      String ->-                        ArgsHMap "broadcast_not_equal(symbol)" args -> IO SymbolHandle-broadcast_not_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_not_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_greater(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_greater ::-                  forall args . Fullfilled "broadcast_greater(symbol)" args =>-                    String ->-                      ArgsHMap "broadcast_greater(symbol)" args -> IO SymbolHandle-broadcast_greater name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_greater_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_greater_equal ::-                        forall args . Fullfilled "broadcast_greater_equal(symbol)" args =>-                          String ->-                            ArgsHMap "broadcast_greater_equal(symbol)" args -> IO SymbolHandle-broadcast_greater_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_lesser(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_lesser ::-                 forall args . Fullfilled "broadcast_lesser(symbol)" args =>-                   String ->-                     ArgsHMap "broadcast_lesser(symbol)" args -> IO SymbolHandle-broadcast_lesser name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_lesser_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_lesser_equal ::-                       forall args . Fullfilled "broadcast_lesser_equal(symbol)" args =>-                         String ->-                           ArgsHMap "broadcast_lesser_equal(symbol)" args -> IO SymbolHandle-broadcast_lesser_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argmax(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--argmax ::-       forall args . Fullfilled "argmax(symbol)" args =>-         String -> ArgsHMap "argmax(symbol)" args -> IO SymbolHandle-argmax name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argmin(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--argmin ::-       forall args . Fullfilled "argmin(symbol)" args =>-         String -> ArgsHMap "argmin(symbol)" args -> IO SymbolHandle-argmin name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argmax_channel(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--argmax_channel ::-               forall args . Fullfilled "argmax_channel(symbol)" args =>-                 String -> ArgsHMap "argmax_channel(symbol)" args -> IO SymbolHandle-argmax_channel name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax_channel"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "pick(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle), '("index", AttrOpt SymbolHandle)]--pick ::-     forall args . Fullfilled "pick(symbol)" args =>-       String -> ArgsHMap "pick(symbol)" args -> IO SymbolHandle-pick name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("index",) <$> (args !? #index :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "pick"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_pick(symbol)" = '[]--_backward_pick ::-               forall args . Fullfilled "_backward_pick(symbol)" args =>-                 String -> ArgsHMap "_backward_pick(symbol)" args -> IO SymbolHandle-_backward_pick name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_pick"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sparse_retain(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--_sparse_retain ::-               forall args . Fullfilled "_sparse_retain(symbol)" args =>-                 String -> ArgsHMap "_sparse_retain(symbol)" args -> IO SymbolHandle-_sparse_retain name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_retain"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sparse_retain(symbol)" = '[]--_backward_sparse_retain ::-                        forall args . Fullfilled "_backward_sparse_retain(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_sparse_retain(symbol)" args -> IO SymbolHandle-_backward_sparse_retain name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sparse_retain"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_where(symbol)" =-     '[ '("condition", AttrOpt SymbolHandle),-        '("x", AttrOpt SymbolHandle), '("y", AttrOpt SymbolHandle)]--_where ::-       forall args . Fullfilled "_where(symbol)" args =>-         String -> ArgsHMap "_where(symbol)" args -> IO SymbolHandle-_where name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("condition",) <$> (args !? #condition :: Maybe SymbolHandle),-               ("x",) <$> (args !? #x :: Maybe SymbolHandle),-               ("y",) <$> (args !? #y :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "where"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_where(symbol)" = '[]--_backward_where ::-                forall args . Fullfilled "_backward_where(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_where(symbol)" args -> IO SymbolHandle-_backward_where name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_where"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_maximum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_maximum_scalar ::-                forall args . Fullfilled "_maximum_scalar(symbol)" args =>-                  String ->-                    ArgsHMap "_maximum_scalar(symbol)" args -> IO SymbolHandle-_maximum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_maximum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_maximum_scalar ::-                         forall args . Fullfilled "_backward_maximum_scalar(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_maximum_scalar(symbol)" args -> IO SymbolHandle-_backward_maximum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_minimum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_minimum_scalar ::-                forall args . Fullfilled "_minimum_scalar(symbol)" args =>-                  String ->-                    ArgsHMap "_minimum_scalar(symbol)" args -> IO SymbolHandle-_minimum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_minimum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_minimum_scalar ::-                         forall args . Fullfilled "_backward_minimum_scalar(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_minimum_scalar(symbol)" args -> IO SymbolHandle-_backward_minimum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_power_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_power_scalar ::-              forall args . Fullfilled "_power_scalar(symbol)" args =>-                String -> ArgsHMap "_power_scalar(symbol)" args -> IO SymbolHandle-_power_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_power_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_power_scalar ::-                       forall args . Fullfilled "_backward_power_scalar(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_power_scalar(symbol)" args -> IO SymbolHandle-_backward_power_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rpower_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rpower_scalar ::-               forall args . Fullfilled "_rpower_scalar(symbol)" args =>-                 String -> ArgsHMap "_rpower_scalar(symbol)" args -> IO SymbolHandle-_rpower_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rpower_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rpower_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_rpower_scalar ::-                        forall args . Fullfilled "_backward_rpower_scalar(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_rpower_scalar(symbol)" args -> IO SymbolHandle-_backward_rpower_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rpower_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_hypot_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_hypot_scalar ::-              forall args . Fullfilled "_hypot_scalar(symbol)" args =>-                String -> ArgsHMap "_hypot_scalar(symbol)" args -> IO SymbolHandle-_hypot_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_hypot_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_hypot_scalar ::-                       forall args . Fullfilled "_backward_hypot_scalar(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_hypot_scalar(symbol)" args -> IO SymbolHandle-_backward_hypot_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "smooth_l1(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--smooth_l1 ::-          forall args . Fullfilled "smooth_l1(symbol)" args =>-            String -> ArgsHMap "smooth_l1(symbol)" args -> IO SymbolHandle-smooth_l1 name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "smooth_l1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_smooth_l1(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_smooth_l1 ::-                    forall args . Fullfilled "_backward_smooth_l1(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_smooth_l1(symbol)" args -> IO SymbolHandle-_backward_smooth_l1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_smooth_l1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "topk(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("k", AttrOpt Int),-        '("ret_typ",-          AttrOpt (EnumType '["both", "indices", "mask", "value"])),-        '("is_ascend", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--topk ::-     forall args . Fullfilled "topk(symbol)" args =>-       String -> ArgsHMap "topk(symbol)" args -> IO SymbolHandle-topk name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ret_typ",) . showValue <$>-                 (args !? #ret_typ ::-                    Maybe (EnumType '["both", "indices", "mask", "value"])),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "topk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_topk(symbol)" = '[]--_backward_topk ::-               forall args . Fullfilled "_backward_topk(symbol)" args =>-                 String -> ArgsHMap "_backward_topk(symbol)" args -> IO SymbolHandle-_backward_topk name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_topk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sort(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--sort ::-     forall args . Fullfilled "sort(symbol)" args =>-       String -> ArgsHMap "sort(symbol)" args -> IO SymbolHandle-sort name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sort"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argsort(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--argsort ::-        forall args . Fullfilled "argsort(symbol)" args =>-          String -> ArgsHMap "argsort(symbol)" args -> IO SymbolHandle-argsort name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argsort"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Reshape(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("reverse", AttrOpt Bool),-        '("target_shape", AttrOpt [Int]), '("keep_highest", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--_Reshape ::-         forall args . Fullfilled "_Reshape(symbol)" args =>-           String -> ArgsHMap "_Reshape(symbol)" args -> IO SymbolHandle-_Reshape name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("keep_highest",) . showValue <$>-                 (args !? #keep_highest :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Reshape"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Flatten(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_Flatten ::-         forall args . Fullfilled "_Flatten(symbol)" args =>-           String -> ArgsHMap "_Flatten(symbol)" args -> IO SymbolHandle-_Flatten name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Flatten"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "transpose(symbol)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--transpose ::-          forall args . Fullfilled "transpose(symbol)" args =>-            String -> ArgsHMap "transpose(symbol)" args -> IO SymbolHandle-transpose name args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "transpose"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "expand_dims(symbol)" =-     '[ '("axis", AttrReq Int), '("data", AttrOpt SymbolHandle)]--expand_dims ::-            forall args . Fullfilled "expand_dims(symbol)" args =>-              String -> ArgsHMap "expand_dims(symbol)" args -> IO SymbolHandle-expand_dims name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expand_dims"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "slice(symbol)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--slice ::-      forall args . Fullfilled "slice(symbol)" args =>-        String -> ArgsHMap "slice(symbol)" args -> IO SymbolHandle-slice name args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_slice(symbol)" = '[]--_backward_slice ::-                forall args . Fullfilled "_backward_slice(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_slice(symbol)" args -> IO SymbolHandle-_backward_slice name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_slice_assign(symbol)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_slice_assign ::-              forall args . Fullfilled "_slice_assign(symbol)" args =>-                String -> ArgsHMap "_slice_assign(symbol)" args -> IO SymbolHandle-_slice_assign name args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_slice_assign_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("begin", AttrReq [Int]),-        '("end", AttrReq [Int]), '("step", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--_slice_assign_scalar ::-                     forall args . Fullfilled "_slice_assign_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_slice_assign_scalar(symbol)" args -> IO SymbolHandle-_slice_assign_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float),-               ("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "slice_axis(symbol)" =-     '[ '("axis", AttrReq Int), '("begin", AttrReq Int),-        '("end", AttrReq (Maybe Int)), '("data", AttrOpt SymbolHandle)]--slice_axis ::-           forall args . Fullfilled "slice_axis(symbol)" args =>-             String -> ArgsHMap "slice_axis(symbol)" args -> IO SymbolHandle-slice_axis name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("begin",) . showValue <$> (args !? #begin :: Maybe Int),-               ("end",) . showValue <$> (args !? #end :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_axis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_slice_axis(symbol)" = '[]--_backward_slice_axis ::-                     forall args . Fullfilled "_backward_slice_axis(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_slice_axis(symbol)" args -> IO SymbolHandle-_backward_slice_axis name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_axis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "clip(symbol)" =-     '[ '("a_min", AttrReq Float), '("a_max", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--clip ::-     forall args . Fullfilled "clip(symbol)" args =>-       String -> ArgsHMap "clip(symbol)" args -> IO SymbolHandle-clip name args-  = let scalarArgs-          = catMaybes-              [("a_min",) . showValue <$> (args !? #a_min :: Maybe Float),-               ("a_max",) . showValue <$> (args !? #a_max :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "clip"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_clip(symbol)" = '[]--_backward_clip ::-               forall args . Fullfilled "_backward_clip(symbol)" args =>-                 String -> ArgsHMap "_backward_clip(symbol)" args -> IO SymbolHandle-_backward_clip name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_clip"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "repeat(symbol)" =-     '[ '("repeats", AttrReq Int), '("axis", AttrOpt (Maybe Int)),-        '("data", AttrOpt SymbolHandle)]--repeat ::-       forall args . Fullfilled "repeat(symbol)" args =>-         String -> ArgsHMap "repeat(symbol)" args -> IO SymbolHandle-repeat name args-  = let scalarArgs-          = catMaybes-              [("repeats",) . showValue <$> (args !? #repeats :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "repeat"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_repeat(symbol)" = '[]--_backward_repeat ::-                 forall args . Fullfilled "_backward_repeat(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_repeat(symbol)" args -> IO SymbolHandle-_backward_repeat name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_repeat"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "tile(symbol)" =-     '[ '("reps", AttrReq [Int]), '("data", AttrOpt SymbolHandle)]--tile ::-     forall args . Fullfilled "tile(symbol)" args =>-       String -> ArgsHMap "tile(symbol)" args -> IO SymbolHandle-tile name args-  = let scalarArgs-          = catMaybes-              [("reps",) . showValue <$> (args !? #reps :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tile"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_tile(symbol)" = '[]--_backward_tile ::-               forall args . Fullfilled "_backward_tile(symbol)" args =>-                 String -> ArgsHMap "_backward_tile(symbol)" args -> IO SymbolHandle-_backward_tile name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tile"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "reverse(symbol)" =-     '[ '("axis", AttrReq [Int]), '("data", AttrOpt SymbolHandle)]--reverse ::-        forall args . Fullfilled "reverse(symbol)" args =>-          String -> ArgsHMap "reverse(symbol)" args -> IO SymbolHandle-reverse name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_reverse(symbol)" = '[]--_backward_reverse ::-                  forall args . Fullfilled "_backward_reverse(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_reverse(symbol)" args -> IO SymbolHandle-_backward_reverse name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "stack(symbol)" =-     '[ '("axis", AttrOpt Int), '("num_args", AttrReq Int),-        '("data", AttrOpt [SymbolHandle])]--stack ::-      forall args . Fullfilled "stack(symbol)" args =>-        String -> ArgsHMap "stack(symbol)" args -> IO SymbolHandle-stack name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "stack"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_stack(symbol)" = '[]--_backward_stack ::-                forall args . Fullfilled "_backward_stack(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_stack(symbol)" args -> IO SymbolHandle-_backward_stack name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_stack"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "dot(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--dot ::-    forall args . Fullfilled "dot(symbol)" args =>-      String -> ArgsHMap "dot(symbol)" args -> IO SymbolHandle-dot name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_dot(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool)]--_backward_dot ::-              forall args . Fullfilled "_backward_dot(symbol)" args =>-                String -> ArgsHMap "_backward_dot(symbol)" args -> IO SymbolHandle-_backward_dot name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "batch_dot(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--batch_dot ::-          forall args . Fullfilled "batch_dot(symbol)" args =>-            String -> ArgsHMap "batch_dot(symbol)" args -> IO SymbolHandle-batch_dot name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_batch_dot(symbol)" = '[]--_backward_batch_dot ::-                    forall args . Fullfilled "_backward_batch_dot(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_batch_dot(symbol)" args -> IO SymbolHandle-_backward_batch_dot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_batch_dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sin(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sin ::-    forall args . Fullfilled "sin(symbol)" args =>-      String -> ArgsHMap "sin(symbol)" args -> IO SymbolHandle-sin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sin(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sin ::-              forall args . Fullfilled "_backward_sin(symbol)" args =>-                String -> ArgsHMap "_backward_sin(symbol)" args -> IO SymbolHandle-_backward_sin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cos(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--cos ::-    forall args . Fullfilled "cos(symbol)" args =>-      String -> ArgsHMap "cos(symbol)" args -> IO SymbolHandle-cos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cos(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_cos ::-              forall args . Fullfilled "_backward_cos(symbol)" args =>-                String -> ArgsHMap "_backward_cos(symbol)" args -> IO SymbolHandle-_backward_cos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "tan(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--tan ::-    forall args . Fullfilled "tan(symbol)" args =>-      String -> ArgsHMap "tan(symbol)" args -> IO SymbolHandle-tan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_tan(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_tan ::-              forall args . Fullfilled "_backward_tan(symbol)" args =>-                String -> ArgsHMap "_backward_tan(symbol)" args -> IO SymbolHandle-_backward_tan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arcsin(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arcsin ::-       forall args . Fullfilled "arcsin(symbol)" args =>-         String -> ArgsHMap "arcsin(symbol)" args -> IO SymbolHandle-arcsin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arcsin(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arcsin ::-                 forall args . Fullfilled "_backward_arcsin(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_arcsin(symbol)" args -> IO SymbolHandle-_backward_arcsin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arccos(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arccos ::-       forall args . Fullfilled "arccos(symbol)" args =>-         String -> ArgsHMap "arccos(symbol)" args -> IO SymbolHandle-arccos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arccos(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arccos ::-                 forall args . Fullfilled "_backward_arccos(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_arccos(symbol)" args -> IO SymbolHandle-_backward_arccos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arctan(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arctan ::-       forall args . Fullfilled "arctan(symbol)" args =>-         String -> ArgsHMap "arctan(symbol)" args -> IO SymbolHandle-arctan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arctan(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arctan ::-                 forall args . Fullfilled "_backward_arctan(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_arctan(symbol)" args -> IO SymbolHandle-_backward_arctan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "degrees(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--degrees ::-        forall args . Fullfilled "degrees(symbol)" args =>-          String -> ArgsHMap "degrees(symbol)" args -> IO SymbolHandle-degrees name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "degrees"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_degrees(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_degrees ::-                  forall args . Fullfilled "_backward_degrees(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_degrees(symbol)" args -> IO SymbolHandle-_backward_degrees name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_degrees"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "radians(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--radians ::-        forall args . Fullfilled "radians(symbol)" args =>-          String -> ArgsHMap "radians(symbol)" args -> IO SymbolHandle-radians name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "radians"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_radians(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_radians ::-                  forall args . Fullfilled "_backward_radians(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_radians(symbol)" args -> IO SymbolHandle-_backward_radians name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_radians"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sinh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sinh ::-     forall args . Fullfilled "sinh(symbol)" args =>-       String -> ArgsHMap "sinh(symbol)" args -> IO SymbolHandle-sinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sinh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sinh ::-               forall args . Fullfilled "_backward_sinh(symbol)" args =>-                 String -> ArgsHMap "_backward_sinh(symbol)" args -> IO SymbolHandle-_backward_sinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cosh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--cosh ::-     forall args . Fullfilled "cosh(symbol)" args =>-       String -> ArgsHMap "cosh(symbol)" args -> IO SymbolHandle-cosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cosh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_cosh ::-               forall args . Fullfilled "_backward_cosh(symbol)" args =>-                 String -> ArgsHMap "_backward_cosh(symbol)" args -> IO SymbolHandle-_backward_cosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "tanh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--tanh ::-     forall args . Fullfilled "tanh(symbol)" args =>-       String -> ArgsHMap "tanh(symbol)" args -> IO SymbolHandle-tanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_tanh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_tanh ::-               forall args . Fullfilled "_backward_tanh(symbol)" args =>-                 String -> ArgsHMap "_backward_tanh(symbol)" args -> IO SymbolHandle-_backward_tanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arcsinh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arcsinh ::-        forall args . Fullfilled "arcsinh(symbol)" args =>-          String -> ArgsHMap "arcsinh(symbol)" args -> IO SymbolHandle-arcsinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arcsinh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arcsinh ::-                  forall args . Fullfilled "_backward_arcsinh(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_arcsinh(symbol)" args -> IO SymbolHandle-_backward_arcsinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arccosh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arccosh ::-        forall args . Fullfilled "arccosh(symbol)" args =>-          String -> ArgsHMap "arccosh(symbol)" args -> IO SymbolHandle-arccosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arccosh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arccosh ::-                  forall args . Fullfilled "_backward_arccosh(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_arccosh(symbol)" args -> IO SymbolHandle-_backward_arccosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arctanh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arctanh ::-        forall args . Fullfilled "arctanh(symbol)" args =>-          String -> ArgsHMap "arctanh(symbol)" args -> IO SymbolHandle-arctanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arctanh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arctanh ::-                  forall args . Fullfilled "_backward_arctanh(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_arctanh(symbol)" args -> IO SymbolHandle-_backward_arctanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_dequantize(symbol)" =-     '[ '("out_type", AttrReq (EnumType '["float32"])),-        '("input", AttrOpt SymbolHandle),-        '("min_range", AttrOpt SymbolHandle),-        '("max_range", AttrOpt SymbolHandle)]--_contrib_dequantize ::-                    forall args . Fullfilled "_contrib_dequantize(symbol)" args =>-                      String ->-                        ArgsHMap "_contrib_dequantize(symbol)" args -> IO SymbolHandle-_contrib_dequantize name args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["float32"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("input",) <$> (args !? #input :: Maybe SymbolHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe SymbolHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dequantize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_CTCLoss(symbol)" =-     '[ '("use_data_lengths", AttrOpt Bool),-        '("use_label_lengths", AttrOpt Bool),-        '("blank_label", AttrOpt (EnumType '["first", "last"])),-        '("data", AttrOpt SymbolHandle), '("label", AttrOpt SymbolHandle),-        '("data_lengths", AttrOpt SymbolHandle),-        '("label_lengths", AttrOpt SymbolHandle)]--_contrib_CTCLoss ::-                 forall args . Fullfilled "_contrib_CTCLoss(symbol)" args =>-                   String ->-                     ArgsHMap "_contrib_CTCLoss(symbol)" args -> IO SymbolHandle-_contrib_CTCLoss name args-  = let scalarArgs-          = catMaybes-              [("use_data_lengths",) . showValue <$>-                 (args !? #use_data_lengths :: Maybe Bool),-               ("use_label_lengths",) . showValue <$>-                 (args !? #use_label_lengths :: Maybe Bool),-               ("blank_label",) . showValue <$>-                 (args !? #blank_label :: Maybe (EnumType '["first", "last"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle),-               ("data_lengths",) <$>-                 (args !? #data_lengths :: Maybe SymbolHandle),-               ("label_lengths",) <$>-                 (args !? #label_lengths :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_CTCLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantize(symbol)" =-     '[ '("out_type", AttrOpt (EnumType '["uint8"])),-        '("input", AttrOpt SymbolHandle),-        '("min_range", AttrOpt SymbolHandle),-        '("max_range", AttrOpt SymbolHandle)]--_contrib_quantize ::-                  forall args . Fullfilled "_contrib_quantize(symbol)" args =>-                    String ->-                      ArgsHMap "_contrib_quantize(symbol)" args -> IO SymbolHandle-_contrib_quantize name args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("input",) <$> (args !? #input :: Maybe SymbolHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe SymbolHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Custom(symbol)" =-     '[ '("op_type", AttrOpt String), '("data", AttrOpt [SymbolHandle])]--_Custom ::-        forall args .-          (Fullfilled "_Custom(symbol)" args,-           PopKey (ArgOf "_Custom(symbol)") args "data",-           Dump (PopResult (ArgOf "_Custom(symbol)") args "data")) =>-          String -> ArgsHMap "_Custom(symbol)" args -> IO SymbolHandle-_Custom name args-  = let scalarArgs = dump (pop args #data)-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "Custom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_Custom(symbol)" = '[]--_backward_Custom ::-                 forall args . Fullfilled "_backward_Custom(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_Custom(symbol)" args -> IO SymbolHandle-_backward_Custom name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Custom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_multinomial(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("get_prob", AttrOpt Bool),-        '("dtype", AttrOpt (EnumType '["int32"])),-        '("data", AttrOpt SymbolHandle)]--_sample_multinomial ::-                    forall args . Fullfilled "_sample_multinomial(symbol)" args =>-                      String ->-                        ArgsHMap "_sample_multinomial(symbol)" args -> IO SymbolHandle-_sample_multinomial name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("get_prob",) . showValue <$> (args !? #get_prob :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype :: Maybe (EnumType '["int32"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_multinomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sample_multinomial(symbol)"-     = '[]--_backward_sample_multinomial ::-                             forall args .-                               Fullfilled "_backward_sample_multinomial(symbol)" args =>-                               String ->-                                 ArgsHMap "_backward_sample_multinomial(symbol)" args ->-                                   IO SymbolHandle-_backward_sample_multinomial name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sample_multinomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_uniform(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("low", AttrOpt SymbolHandle), '("high", AttrOpt SymbolHandle)]--_sample_uniform ::-                forall args . Fullfilled "_sample_uniform(symbol)" args =>-                  String ->-                    ArgsHMap "_sample_uniform(symbol)" args -> IO SymbolHandle-_sample_uniform name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("low",) <$> (args !? #low :: Maybe SymbolHandle),-               ("high",) <$> (args !? #high :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_uniform"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_normal(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt SymbolHandle), '("sigma", AttrOpt SymbolHandle)]--_sample_normal ::-               forall args . Fullfilled "_sample_normal(symbol)" args =>-                 String -> ArgsHMap "_sample_normal(symbol)" args -> IO SymbolHandle-_sample_normal name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe SymbolHandle),-               ("sigma",) <$> (args !? #sigma :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_normal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_gamma(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("alpha", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle)]--_sample_gamma ::-              forall args . Fullfilled "_sample_gamma(symbol)" args =>-                String -> ArgsHMap "_sample_gamma(symbol)" args -> IO SymbolHandle-_sample_gamma name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("alpha",) <$> (args !? #alpha :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_exponential(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt SymbolHandle)]--_sample_exponential ::-                    forall args . Fullfilled "_sample_exponential(symbol)" args =>-                      String ->-                        ArgsHMap "_sample_exponential(symbol)" args -> IO SymbolHandle-_sample_exponential name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_exponential"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_poisson(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt SymbolHandle)]--_sample_poisson ::-                forall args . Fullfilled "_sample_poisson(symbol)" args =>-                  String ->-                    ArgsHMap "_sample_poisson(symbol)" args -> IO SymbolHandle-_sample_poisson name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_poisson"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_negative_binomial(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("k", AttrOpt SymbolHandle), '("p", AttrOpt SymbolHandle)]--_sample_negative_binomial ::-                          forall args .-                            Fullfilled "_sample_negative_binomial(symbol)" args =>-                            String ->-                              ArgsHMap "_sample_negative_binomial(symbol)" args ->-                                IO SymbolHandle-_sample_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("k",) <$> (args !? #k :: Maybe SymbolHandle),-               ("p",) <$> (args !? #p :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_sample_generalized_negative_binomial(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt SymbolHandle), '("alpha", AttrOpt SymbolHandle)]--_sample_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_sample_generalized_negative_binomial(symbol)"-                                          args =>-                                        String ->-                                          ArgsHMap "_sample_generalized_negative_binomial(symbol)"-                                            args-                                            -> IO SymbolHandle-_sample_generalized_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe SymbolHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_generalized_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_uniform(symbol)" =-     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_uniform ::-                forall args . Fullfilled "_random_uniform(symbol)" args =>-                  String ->-                    ArgsHMap "_random_uniform(symbol)" args -> IO SymbolHandle-_random_uniform name args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_normal(symbol)" =-     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_normal ::-               forall args . Fullfilled "_random_normal(symbol)" args =>-                 String -> ArgsHMap "_random_normal(symbol)" args -> IO SymbolHandle-_random_normal name args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_gamma(symbol)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_gamma ::-              forall args . Fullfilled "_random_gamma(symbol)" args =>-                String -> ArgsHMap "_random_gamma(symbol)" args -> IO SymbolHandle-_random_gamma name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_exponential(symbol)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_exponential ::-                    forall args . Fullfilled "_random_exponential(symbol)" args =>-                      String ->-                        ArgsHMap "_random_exponential(symbol)" args -> IO SymbolHandle-_random_exponential name args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_poisson(symbol)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_poisson ::-                forall args . Fullfilled "_random_poisson(symbol)" args =>-                  String ->-                    ArgsHMap "_random_poisson(symbol)" args -> IO SymbolHandle-_random_poisson name args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_negative_binomial(symbol)" =-     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_negative_binomial ::-                          forall args .-                            Fullfilled "_random_negative_binomial(symbol)" args =>-                            String ->-                              ArgsHMap "_random_negative_binomial(symbol)" args ->-                                IO SymbolHandle-_random_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_random_generalized_negative_binomial(symbol)" =-     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_random_generalized_negative_binomial(symbol)"-                                          args =>-                                        String ->-                                          ArgsHMap "_random_generalized_negative_binomial(symbol)"-                                            args-                                            -> IO SymbolHandle-_random_generalized_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "softmax(symbol)" =-     '[ '("axis", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--softmax ::-        forall args . Fullfilled "softmax(symbol)" args =>-          String -> ArgsHMap "softmax(symbol)" args -> IO SymbolHandle-softmax name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_softmax(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_softmax ::-                  forall args . Fullfilled "_backward_softmax(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_softmax(symbol)" args -> IO SymbolHandle-_backward_softmax name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log_softmax(symbol)" =-     '[ '("axis", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--log_softmax ::-            forall args . Fullfilled "log_softmax(symbol)" args =>-              String -> ArgsHMap "log_softmax(symbol)" args -> IO SymbolHandle-log_softmax name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log_softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log_softmax(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log_softmax ::-                      forall args . Fullfilled "_backward_log_softmax(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_log_softmax(symbol)" args -> IO SymbolHandle-_backward_log_softmax name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log_softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_cvimread(symbol)" =-     '[ '("filename", AttrReq String), '("flag", AttrOpt Int),-        '("to_rgb", AttrOpt Bool)]--_cvimread ::-          forall args . Fullfilled "_cvimread(symbol)" args =>-            String -> ArgsHMap "_cvimread(symbol)" args -> IO SymbolHandle-_cvimread name args-  = let scalarArgs-          = catMaybes-              [("filename",) . showValue <$> (args !? #filename :: Maybe String),-               ("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimread"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_NoGradient(symbol)" = '[]--_NoGradient ::-            forall args . Fullfilled "_NoGradient(symbol)" args =>-              String -> ArgsHMap "_NoGradient(symbol)" args -> IO SymbolHandle-_NoGradient name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_NoGradient"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CachedOp(symbol)" = '[]--_CachedOp ::-          forall args . Fullfilled "_CachedOp(symbol)" args =>-            String -> ArgsHMap "_CachedOp(symbol)" args -> IO SymbolHandle-_CachedOp name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CachedOp"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_CachedOp(symbol)" = '[]--_backward_CachedOp ::-                   forall args . Fullfilled "_backward_CachedOp(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_CachedOp(symbol)" args -> IO SymbolHandle-_backward_CachedOp name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CachedOp"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SwapAxis(symbol)" =-     '[ '("dim1", AttrOpt Int), '("dim2", AttrOpt Int),-        '("data", AttrOpt SymbolHandle)]--_SwapAxis ::-          forall args . Fullfilled "_SwapAxis(symbol)" args =>-            String -> ArgsHMap "_SwapAxis(symbol)" args -> IO SymbolHandle-_SwapAxis name args-  = let scalarArgs-          = catMaybes-              [("dim1",) . showValue <$> (args !? #dim1 :: Maybe Int),-               ("dim2",) . showValue <$> (args !? #dim2 :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SwapAxis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Pad(symbol)" =-     '[ '("mode", AttrReq (EnumType '["constant", "edge", "reflect"])),-        '("pad_width", AttrReq [Int]), '("constant_value", AttrOpt Double),-        '("data", AttrOpt SymbolHandle)]--_Pad ::-     forall args . Fullfilled "_Pad(symbol)" args =>-       String -> ArgsHMap "_Pad(symbol)" args -> IO SymbolHandle-_Pad name args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["constant", "edge", "reflect"])),-               ("pad_width",) . showValue <$> (args !? #pad_width :: Maybe [Int]),-               ("constant_value",) . showValue <$>-                 (args !? #constant_value :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pad"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BatchNorm_v1(symbol)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle), '("gamma", AttrOpt SymbolHandle),-        '("beta", AttrOpt SymbolHandle)]--_BatchNorm_v1 ::-              forall args . Fullfilled "_BatchNorm_v1(symbol)" args =>-                String -> ArgsHMap "_BatchNorm_v1(symbol)" args -> IO SymbolHandle-_BatchNorm_v1 name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sgd_update(symbol)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle)]--sgd_update ::-           forall args . Fullfilled "sgd_update(symbol)" args =>-             String -> ArgsHMap "sgd_update(symbol)" args -> IO SymbolHandle-sgd_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sgd_mom_update(symbol)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mom", AttrOpt SymbolHandle)]--sgd_mom_update ::-               forall args . Fullfilled "sgd_mom_update(symbol)" args =>-                 String -> ArgsHMap "sgd_mom_update(symbol)" args -> IO SymbolHandle-sgd_mom_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mom",) <$> (args !? #mom :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_mom_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "mp_sgd_update(symbol)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("weight32", AttrOpt SymbolHandle)]--mp_sgd_update ::-              forall args . Fullfilled "mp_sgd_update(symbol)" args =>-                String -> ArgsHMap "mp_sgd_update(symbol)" args -> IO SymbolHandle-mp_sgd_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "mp_sgd_mom_update(symbol)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mom", AttrOpt SymbolHandle),-        '("weight32", AttrOpt SymbolHandle)]--mp_sgd_mom_update ::-                  forall args . Fullfilled "mp_sgd_mom_update(symbol)" args =>-                    String ->-                      ArgsHMap "mp_sgd_mom_update(symbol)" args -> IO SymbolHandle-mp_sgd_mom_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mom",) <$> (args !? #mom :: Maybe SymbolHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_mom_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "adam_update(symbol)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mean", AttrOpt SymbolHandle), '("var", AttrOpt SymbolHandle)]--adam_update ::-            forall args . Fullfilled "adam_update(symbol)" args =>-              String -> ArgsHMap "adam_update(symbol)" args -> IO SymbolHandle-adam_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mean",) <$> (args !? #mean :: Maybe SymbolHandle),-               ("var",) <$> (args !? #var :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "adam_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rmsprop_update(symbol)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("epsilon", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("n", AttrOpt SymbolHandle)]--rmsprop_update ::-               forall args . Fullfilled "rmsprop_update(symbol)" args =>-                 String -> ArgsHMap "rmsprop_update(symbol)" args -> IO SymbolHandle-rmsprop_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("n",) <$> (args !? #n :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmsprop_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rmspropalex_update(symbol)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("gamma2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("n", AttrOpt SymbolHandle), '("g", AttrOpt SymbolHandle),-        '("delta", AttrOpt SymbolHandle)]--rmspropalex_update ::-                   forall args . Fullfilled "rmspropalex_update(symbol)" args =>-                     String ->-                       ArgsHMap "rmspropalex_update(symbol)" args -> IO SymbolHandle-rmspropalex_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("gamma2",) . showValue <$> (args !? #gamma2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("n",) <$> (args !? #n :: Maybe SymbolHandle),-               ("g",) <$> (args !? #g :: Maybe SymbolHandle),-               ("delta",) <$> (args !? #delta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmspropalex_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ftrl_update(symbol)" =-     '[ '("lr", AttrReq Float), '("lamda1", AttrOpt Float),-        '("beta", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("z", AttrOpt SymbolHandle), '("n", AttrOpt SymbolHandle)]--ftrl_update ::-            forall args . Fullfilled "ftrl_update(symbol)" args =>-              String -> ArgsHMap "ftrl_update(symbol)" args -> IO SymbolHandle-ftrl_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("lamda1",) . showValue <$> (args !? #lamda1 :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("z",) <$> (args !? #z :: Maybe SymbolHandle),-               ("n",) <$> (args !? #n :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftrl_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LeakyReLU(symbol)" =-     '[ '("act_type",-          AttrOpt (EnumType '["elu", "leaky", "prelu", "rrelu"])),-        '("slope", AttrOpt Float), '("lower_bound", AttrOpt Float),-        '("upper_bound", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_LeakyReLU ::-           forall args . Fullfilled "_LeakyReLU(symbol)" args =>-             String -> ArgsHMap "_LeakyReLU(symbol)" args -> IO SymbolHandle-_LeakyReLU name args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe (EnumType '["elu", "leaky", "prelu", "rrelu"])),-               ("slope",) . showValue <$> (args !? #slope :: Maybe Float),-               ("lower_bound",) . showValue <$>-                 (args !? #lower_bound :: Maybe Float),-               ("upper_bound",) . showValue <$>-                 (args !? #upper_bound :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LeakyReLU"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_IdentityAttachKLSparseReg(symbol)" =-     '[ '("sparseness_target", AttrOpt Float),-        '("penalty", AttrOpt Float), '("momentum", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_IdentityAttachKLSparseReg ::-                           forall args .-                             Fullfilled "_IdentityAttachKLSparseReg(symbol)" args =>-                             String ->-                               ArgsHMap "_IdentityAttachKLSparseReg(symbol)" args ->-                                 IO SymbolHandle-_IdentityAttachKLSparseReg name args-  = let scalarArgs-          = catMaybes-              [("sparseness_target",) . showValue <$>-                 (args !? #sparseness_target :: Maybe Float),-               ("penalty",) . showValue <$> (args !? #penalty :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "IdentityAttachKLSparseReg"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_UpSampling(symbol)" =-     '[ '("scale", AttrReq Int), '("num_filter", AttrOpt Int),-        '("sample_type", AttrReq (EnumType '["bilinear", "nearest"])),-        '("multi_input_mode", AttrOpt (EnumType '["concat", "sum"])),-        '("num_args", AttrReq Int), '("workspace", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--_UpSampling ::-            forall args . Fullfilled "_UpSampling(symbol)" args =>-              String -> ArgsHMap "_UpSampling(symbol)" args -> IO SymbolHandle-_UpSampling name args-  = let scalarArgs-          = catMaybes-              [("scale",) . showValue <$> (args !? #scale :: Maybe Int),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("sample_type",) . showValue <$>-                 (args !? #sample_type ::-                    Maybe (EnumType '["bilinear", "nearest"])),-               ("multi_input_mode",) . showValue <$>-                 (args !? #multi_input_mode :: Maybe (EnumType '["concat", "sum"])),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "UpSampling"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_SliceChannel(symbol)" =-     '[ '("num_outputs", AttrReq Int), '("axis", AttrOpt Int),-        '("squeeze_axis", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--_SliceChannel ::-              forall args . Fullfilled "_SliceChannel(symbol)" args =>-                String -> ArgsHMap "_SliceChannel(symbol)" args -> IO SymbolHandle-_SliceChannel name args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SliceChannel"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CuDNNBatchNorm(symbol)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--_CuDNNBatchNorm ::-                forall args . Fullfilled "_CuDNNBatchNorm(symbol)" args =>-                  String ->-                    ArgsHMap "_CuDNNBatchNorm(symbol)" args -> IO SymbolHandle-_CuDNNBatchNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CuDNNBatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "softmax_cross_entropy(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--softmax_cross_entropy ::-                      forall args . Fullfilled "softmax_cross_entropy(symbol)" args =>-                        String ->-                          ArgsHMap "softmax_cross_entropy(symbol)" args -> IO SymbolHandle-softmax_cross_entropy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax_cross_entropy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_softmax_cross_entropy(symbol)" = '[]--_backward_softmax_cross_entropy ::-                                forall args .-                                  Fullfilled "_backward_softmax_cross_entropy(symbol)" args =>-                                  String ->-                                    ArgsHMap "_backward_softmax_cross_entropy(symbol)" args ->-                                      IO SymbolHandle-_backward_softmax_cross_entropy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax_cross_entropy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Concat(symbol)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--_Concat ::-        forall args . Fullfilled "_Concat(symbol)" args =>-          String -> ArgsHMap "_Concat(symbol)" args -> IO SymbolHandle-_Concat name args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "Concat"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_BatchNorm(symbol)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle),-        '("moving_mean", AttrOpt SymbolHandle),-        '("moving_var", AttrOpt SymbolHandle)]--_BatchNorm ::-           forall args . Fullfilled "_BatchNorm(symbol)" args =>-             String -> ArgsHMap "_BatchNorm(symbol)" args -> IO SymbolHandle-_BatchNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe SymbolHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CustomFunction(symbol)" = '[]--_CustomFunction ::-                forall args . Fullfilled "_CustomFunction(symbol)" args =>-                  String ->-                    ArgsHMap "_CustomFunction(symbol)" args -> IO SymbolHandle-_CustomFunction name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CustomFunction"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_CustomFunction(symbol)" =-     '[]--_backward_CustomFunction ::-                         forall args . Fullfilled "_backward_CustomFunction(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_CustomFunction(symbol)" args -> IO SymbolHandle-_backward_CustomFunction name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CustomFunction"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiBoxTarget(symbol)" =-     '[ '("overlap_threshold", AttrOpt Float),-        '("ignore_label", AttrOpt Float),-        '("negative_mining_ratio", AttrOpt Float),-        '("negative_mining_thresh", AttrOpt Float),-        '("minimum_negative_samples", AttrOpt Int),-        '("variances", AttrOpt [Float]), '("anchor", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle),-        '("cls_pred", AttrOpt SymbolHandle)]--_contrib_MultiBoxTarget ::-                        forall args . Fullfilled "_contrib_MultiBoxTarget(symbol)" args =>-                          String ->-                            ArgsHMap "_contrib_MultiBoxTarget(symbol)" args -> IO SymbolHandle-_contrib_MultiBoxTarget name args-  = let scalarArgs-          = catMaybes-              [("overlap_threshold",) . showValue <$>-                 (args !? #overlap_threshold :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("negative_mining_ratio",) . showValue <$>-                 (args !? #negative_mining_ratio :: Maybe Float),-               ("negative_mining_thresh",) . showValue <$>-                 (args !? #negative_mining_thresh :: Maybe Float),-               ("minimum_negative_samples",) . showValue <$>-                 (args !? #minimum_negative_samples :: Maybe Int),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("anchor",) <$> (args !? #anchor :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle),-               ("cls_pred",) <$> (args !? #cls_pred :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxTarget"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiBoxTarget(symbol)" = '[]--_backward__contrib_MultiBoxTarget ::-                                  forall args .-                                    Fullfilled "_backward__contrib_MultiBoxTarget(symbol)" args =>-                                    String ->-                                      ArgsHMap "_backward__contrib_MultiBoxTarget(symbol)" args ->-                                        IO SymbolHandle-_backward__contrib_MultiBoxTarget name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxTarget"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_Proposal(symbol)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_score", AttrOpt SymbolHandle),-        '("bbox_pred", AttrOpt SymbolHandle),-        '("im_info", AttrOpt SymbolHandle)]--_contrib_Proposal ::-                  forall args . Fullfilled "_contrib_Proposal(symbol)" args =>-                    String ->-                      ArgsHMap "_contrib_Proposal(symbol)" args -> IO SymbolHandle-_contrib_Proposal name args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("cls_score",) <$> (args !? #cls_score :: Maybe SymbolHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe SymbolHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_Proposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_Proposal(symbol)" =-     '[]--_backward__contrib_Proposal ::-                            forall args .-                              Fullfilled "_backward__contrib_Proposal(symbol)" args =>-                              String ->-                                ArgsHMap "_backward__contrib_Proposal(symbol)" args ->-                                  IO SymbolHandle-_backward__contrib_Proposal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_Proposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_count_sketch(symbol)" =-     '[ '("out_dim", AttrReq Int),-        '("processing_batch_size", AttrOpt Int),-        '("data", AttrOpt SymbolHandle), '("h", AttrOpt SymbolHandle),-        '("s", AttrOpt SymbolHandle)]--_contrib_count_sketch ::-                      forall args . Fullfilled "_contrib_count_sketch(symbol)" args =>-                        String ->-                          ArgsHMap "_contrib_count_sketch(symbol)" args -> IO SymbolHandle-_contrib_count_sketch name args-  = let scalarArgs-          = catMaybes-              [("out_dim",) . showValue <$> (args !? #out_dim :: Maybe Int),-               ("processing_batch_size",) . showValue <$>-                 (args !? #processing_batch_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("h",) <$> (args !? #h :: Maybe SymbolHandle),-               ("s",) <$> (args !? #s :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_count_sketch"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_count_sketch(symbol)" = '[]--_backward__contrib_count_sketch ::-                                forall args .-                                  Fullfilled "_backward__contrib_count_sketch(symbol)" args =>-                                  String ->-                                    ArgsHMap "_backward__contrib_count_sketch(symbol)" args ->-                                      IO SymbolHandle-_backward__contrib_count_sketch name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_count_sketch"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiBoxDetection(symbol)" =-     '[ '("clip", AttrOpt Bool), '("threshold", AttrOpt Float),-        '("background_id", AttrOpt Int), '("nms_threshold", AttrOpt Float),-        '("force_suppress", AttrOpt Bool), '("variances", AttrOpt [Float]),-        '("nms_topk", AttrOpt Int), '("cls_prob", AttrOpt SymbolHandle),-        '("loc_pred", AttrOpt SymbolHandle),-        '("anchor", AttrOpt SymbolHandle)]--_contrib_MultiBoxDetection ::-                           forall args .-                             Fullfilled "_contrib_MultiBoxDetection(symbol)" args =>-                             String ->-                               ArgsHMap "_contrib_MultiBoxDetection(symbol)" args ->-                                 IO SymbolHandle-_contrib_MultiBoxDetection name args-  = let scalarArgs-          = catMaybes-              [("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("nms_threshold",) . showValue <$>-                 (args !? #nms_threshold :: Maybe Float),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float]),-               ("nms_topk",) . showValue <$> (args !? #nms_topk :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe SymbolHandle),-               ("loc_pred",) <$> (args !? #loc_pred :: Maybe SymbolHandle),-               ("anchor",) <$> (args !? #anchor :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxDetection"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiBoxDetection(symbol)" = '[]--_backward__contrib_MultiBoxDetection ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiBoxDetection(symbol)"-                                         args =>-                                       String ->-                                         ArgsHMap "_backward__contrib_MultiBoxDetection(symbol)"-                                           args-                                           -> IO SymbolHandle-_backward__contrib_MultiBoxDetection name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxDetection"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_PSROIPooling(symbol)" =-     '[ '("spatial_scale", AttrReq Float), '("output_dim", AttrReq Int),-        '("pooled_size", AttrReq Int), '("group_size", AttrOpt Int),-        '("data", AttrOpt SymbolHandle), '("rois", AttrOpt SymbolHandle)]--_contrib_PSROIPooling ::-                      forall args . Fullfilled "_contrib_PSROIPooling(symbol)" args =>-                        String ->-                          ArgsHMap "_contrib_PSROIPooling(symbol)" args -> IO SymbolHandle-_contrib_PSROIPooling name args-  = let scalarArgs-          = catMaybes-              [("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe Int),-               ("group_size",) . showValue <$> (args !? #group_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_PSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_PSROIPooling(symbol)" = '[]--_backward__contrib_PSROIPooling ::-                                forall args .-                                  Fullfilled "_backward__contrib_PSROIPooling(symbol)" args =>-                                  String ->-                                    ArgsHMap "_backward__contrib_PSROIPooling(symbol)" args ->-                                      IO SymbolHandle-_backward__contrib_PSROIPooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_PSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_contrib_DeformablePSROIPooling(symbol)" =-     '[ '("spatial_scale", AttrReq Float), '("output_dim", AttrReq Int),-        '("group_size", AttrReq Int), '("pooled_size", AttrReq Int),-        '("part_size", AttrOpt Int), '("sample_per_part", AttrOpt Int),-        '("trans_std", AttrOpt Float), '("no_trans", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle), '("rois", AttrOpt SymbolHandle),-        '("trans", AttrOpt SymbolHandle)]--_contrib_DeformablePSROIPooling ::-                                forall args .-                                  Fullfilled "_contrib_DeformablePSROIPooling(symbol)" args =>-                                  String ->-                                    ArgsHMap "_contrib_DeformablePSROIPooling(symbol)" args ->-                                      IO SymbolHandle-_contrib_DeformablePSROIPooling name args-  = let scalarArgs-          = catMaybes-              [("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("group_size",) . showValue <$> (args !? #group_size :: Maybe Int),-               ("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe Int),-               ("part_size",) . showValue <$> (args !? #part_size :: Maybe Int),-               ("sample_per_part",) . showValue <$>-                 (args !? #sample_per_part :: Maybe Int),-               ("trans_std",) . showValue <$> (args !? #trans_std :: Maybe Float),-               ("no_trans",) . showValue <$> (args !? #no_trans :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle),-               ("trans",) <$> (args !? #trans :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformablePSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_DeformablePSROIPooling(symbol)" =-     '[]--_backward__contrib_DeformablePSROIPooling ::-                                          forall args .-                                            Fullfilled-                                              "_backward__contrib_DeformablePSROIPooling(symbol)"-                                              args =>-                                            String ->-                                              ArgsHMap-                                                "_backward__contrib_DeformablePSROIPooling(symbol)"-                                                args-                                                -> IO SymbolHandle-_backward__contrib_DeformablePSROIPooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformablePSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_CTCLoss(symbol)" =-     '[]--_backward__contrib_CTCLoss ::-                           forall args .-                             Fullfilled "_backward__contrib_CTCLoss(symbol)" args =>-                             String ->-                               ArgsHMap "_backward__contrib_CTCLoss(symbol)" args ->-                                 IO SymbolHandle-_backward__contrib_CTCLoss name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_CTCLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiProposal(symbol)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_score", AttrOpt SymbolHandle),-        '("bbox_pred", AttrOpt SymbolHandle),-        '("im_info", AttrOpt SymbolHandle)]--_contrib_MultiProposal ::-                       forall args . Fullfilled "_contrib_MultiProposal(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_MultiProposal(symbol)" args -> IO SymbolHandle-_contrib_MultiProposal name args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("cls_score",) <$> (args !? #cls_score :: Maybe SymbolHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe SymbolHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiProposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiProposal(symbol)" = '[]--_backward__contrib_MultiProposal ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiProposal(symbol)" args =>-                                   String ->-                                     ArgsHMap "_backward__contrib_MultiProposal(symbol)" args ->-                                       IO SymbolHandle-_backward__contrib_MultiProposal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiProposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiBoxPrior(symbol)" =-     '[ '("sizes", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("clip", AttrOpt Bool), '("steps", AttrOpt [Float]),-        '("offsets", AttrOpt [Float]), '("data", AttrOpt SymbolHandle)]--_contrib_MultiBoxPrior ::-                       forall args . Fullfilled "_contrib_MultiBoxPrior(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_MultiBoxPrior(symbol)" args -> IO SymbolHandle-_contrib_MultiBoxPrior name args-  = let scalarArgs-          = catMaybes-              [("sizes",) . showValue <$> (args !? #sizes :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("steps",) . showValue <$> (args !? #steps :: Maybe [Float]),-               ("offsets",) . showValue <$> (args !? #offsets :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxPrior"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiBoxPrior(symbol)" = '[]--_backward__contrib_MultiBoxPrior ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiBoxPrior(symbol)" args =>-                                   String ->-                                     ArgsHMap "_backward__contrib_MultiBoxPrior(symbol)" args ->-                                       IO SymbolHandle-_backward__contrib_MultiBoxPrior name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxPrior"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_fft(symbol)" =-     '[ '("compute_size", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--_contrib_fft ::-             forall args . Fullfilled "_contrib_fft(symbol)" args =>-               String -> ArgsHMap "_contrib_fft(symbol)" args -> IO SymbolHandle-_contrib_fft name args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_fft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_fft(symbol)" = '[]--_backward__contrib_fft ::-                       forall args . Fullfilled "_backward__contrib_fft(symbol)" args =>-                         String ->-                           ArgsHMap "_backward__contrib_fft(symbol)" args -> IO SymbolHandle-_backward__contrib_fft name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_fft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_contrib_DeformableConvolution(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("num_deformable_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("layout", AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NCW"]))),-        '("data", AttrOpt SymbolHandle), '("offset", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle), '("bias", AttrOpt SymbolHandle)]--_contrib_DeformableConvolution ::-                               forall args .-                                 Fullfilled "_contrib_DeformableConvolution(symbol)" args =>-                                 String ->-                                   ArgsHMap "_contrib_DeformableConvolution(symbol)" args ->-                                     IO SymbolHandle-_contrib_DeformableConvolution name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("num_deformable_group",) . showValue <$>-                 (args !? #num_deformable_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NCW"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("offset",) <$> (args !? #offset :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformableConvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_DeformableConvolution(symbol)" =-     '[]--_backward__contrib_DeformableConvolution ::-                                         forall args .-                                           Fullfilled-                                             "_backward__contrib_DeformableConvolution(symbol)"-                                             args =>-                                           String ->-                                             ArgsHMap-                                               "_backward__contrib_DeformableConvolution(symbol)"-                                               args-                                               -> IO SymbolHandle-_backward__contrib_DeformableConvolution name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformableConvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_ifft(symbol)" =-     '[ '("compute_size", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--_contrib_ifft ::-              forall args . Fullfilled "_contrib_ifft(symbol)" args =>-                String -> ArgsHMap "_contrib_ifft(symbol)" args -> IO SymbolHandle-_contrib_ifft name args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ifft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_ifft(symbol)" = '[]--_backward__contrib_ifft ::-                        forall args . Fullfilled "_backward__contrib_ifft(symbol)" args =>-                          String ->-                            ArgsHMap "_backward__contrib_ifft(symbol)" args -> IO SymbolHandle-_backward__contrib_ifft name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_ifft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__Native(symbol)" = '[]--_backward__Native ::-                  forall args . Fullfilled "_backward__Native(symbol)" args =>-                    String ->-                      ArgsHMap "_backward__Native(symbol)" args -> IO SymbolHandle-_backward__Native name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__Native"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__NDArray(symbol)" = '[]--_backward__NDArray ::-                   forall args . Fullfilled "_backward__NDArray(symbol)" args =>-                     String ->-                       ArgsHMap "_backward__NDArray(symbol)" args -> IO SymbolHandle-_backward__NDArray name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__NDArray"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_InstanceNorm(symbol)" =-     '[ '("eps", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle)]--_InstanceNorm ::-              forall args . Fullfilled "_InstanceNorm(symbol)" args =>-                String -> ArgsHMap "_InstanceNorm(symbol)" args -> IO SymbolHandle-_InstanceNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "InstanceNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_InstanceNorm(symbol)" = '[]--_backward_InstanceNorm ::-                       forall args . Fullfilled "_backward_InstanceNorm(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_InstanceNorm(symbol)" args -> IO SymbolHandle-_backward_InstanceNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_InstanceNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SVMOutput(symbol)" =-     '[ '("margin", AttrOpt Float),-        '("regularization_coefficient", AttrOpt Float),-        '("use_linear", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_SVMOutput ::-           forall args . Fullfilled "_SVMOutput(symbol)" args =>-             String -> ArgsHMap "_SVMOutput(symbol)" args -> IO SymbolHandle-_SVMOutput name args-  = let scalarArgs-          = catMaybes-              [("margin",) . showValue <$> (args !? #margin :: Maybe Float),-               ("regularization_coefficient",) . showValue <$>-                 (args !? #regularization_coefficient :: Maybe Float),-               ("use_linear",) . showValue <$>-                 (args !? #use_linear :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SVMOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SVMOutput(symbol)" = '[]--_backward_SVMOutput ::-                    forall args . Fullfilled "_backward_SVMOutput(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_SVMOutput(symbol)" args -> IO SymbolHandle-_backward_SVMOutput name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SVMOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Pooling(symbol)" =-     '[ '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("kernel", AttrReq [Int]),-        '("pool_type", AttrReq (EnumType '["avg", "max", "sum"])),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--_Pooling ::-         forall args . Fullfilled "_Pooling(symbol)" args =>-           String -> ArgsHMap "_Pooling(symbol)" args -> IO SymbolHandle-_Pooling name args-  = let scalarArgs-          = catMaybes-              [("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Pooling(symbol)" = '[]--_backward_Pooling ::-                  forall args . Fullfilled "_backward_Pooling(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_Pooling(symbol)" args -> IO SymbolHandle-_backward_Pooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Convolution_v1(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle)]--_Convolution_v1 ::-                forall args . Fullfilled "_Convolution_v1(symbol)" args =>-                  String ->-                    ArgsHMap "_Convolution_v1(symbol)" args -> IO SymbolHandle-_Convolution_v1 name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Convolution_v1(symbol)" =-     '[]--_backward_Convolution_v1 ::-                         forall args . Fullfilled "_backward_Convolution_v1(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_Convolution_v1(symbol)" args -> IO SymbolHandle-_backward_Convolution_v1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Crop(symbol)" =-     '[ '("num_args", AttrReq Int), '("offset", AttrOpt [Int]),-        '("h_w", AttrOpt [Int]), '("center_crop", AttrOpt Bool),-        '("data", AttrOpt [SymbolHandle])]--_Crop ::-      forall args . Fullfilled "_Crop(symbol)" args =>-        String -> ArgsHMap "_Crop(symbol)" args -> IO SymbolHandle-_Crop name args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("offset",) . showValue <$> (args !? #offset :: Maybe [Int]),-               ("h_w",) . showValue <$> (args !? #h_w :: Maybe [Int]),-               ("center_crop",) . showValue <$>-                 (args !? #center_crop :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "Crop"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_Crop(symbol)" = '[]--_backward_Crop ::-               forall args . Fullfilled "_backward_Crop(symbol)" args =>-                 String -> ArgsHMap "_backward_Crop(symbol)" args -> IO SymbolHandle-_backward_Crop name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Crop"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SpatialTransformer(symbol)" =-     '[ '("target_shape", AttrOpt [Int]),-        '("transform_type", AttrReq (EnumType '["affine"])),-        '("sampler_type", AttrReq (EnumType '["bilinear"])),-        '("data", AttrOpt SymbolHandle), '("loc", AttrOpt SymbolHandle)]--_SpatialTransformer ::-                    forall args . Fullfilled "_SpatialTransformer(symbol)" args =>-                      String ->-                        ArgsHMap "_SpatialTransformer(symbol)" args -> IO SymbolHandle-_SpatialTransformer name args-  = let scalarArgs-          = catMaybes-              [("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine"])),-               ("sampler_type",) . showValue <$>-                 (args !? #sampler_type :: Maybe (EnumType '["bilinear"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("loc",) <$> (args !? #loc :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SpatialTransformer"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SpatialTransformer(symbol)"-     = '[]--_backward_SpatialTransformer ::-                             forall args .-                               Fullfilled "_backward_SpatialTransformer(symbol)" args =>-                               String ->-                                 ArgsHMap "_backward_SpatialTransformer(symbol)" args ->-                                   IO SymbolHandle-_backward_SpatialTransformer name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SpatialTransformer"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SwapAxis(symbol)" = '[]--_backward_SwapAxis ::-                   forall args . Fullfilled "_backward_SwapAxis(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_SwapAxis(symbol)" args -> IO SymbolHandle-_backward_SwapAxis name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SwapAxis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LinearRegressionOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_LinearRegressionOutput ::-                        forall args . Fullfilled "_LinearRegressionOutput(symbol)" args =>-                          String ->-                            ArgsHMap "_LinearRegressionOutput(symbol)" args -> IO SymbolHandle-_LinearRegressionOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LinearRegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_LinearRegressionOutput(symbol)" = '[]--_backward_LinearRegressionOutput ::-                                 forall args .-                                   Fullfilled "_backward_LinearRegressionOutput(symbol)" args =>-                                   String ->-                                     ArgsHMap "_backward_LinearRegressionOutput(symbol)" args ->-                                       IO SymbolHandle-_backward_LinearRegressionOutput name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LinearRegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_MAERegressionOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_MAERegressionOutput ::-                     forall args . Fullfilled "_MAERegressionOutput(symbol)" args =>-                       String ->-                         ArgsHMap "_MAERegressionOutput(symbol)" args -> IO SymbolHandle-_MAERegressionOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MAERegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_MAERegressionOutput(symbol)"-     = '[]--_backward_MAERegressionOutput ::-                              forall args .-                                Fullfilled "_backward_MAERegressionOutput(symbol)" args =>-                                String ->-                                  ArgsHMap "_backward_MAERegressionOutput(symbol)" args ->-                                    IO SymbolHandle-_backward_MAERegressionOutput name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MAERegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LogisticRegressionOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_LogisticRegressionOutput ::-                          forall args .-                            Fullfilled "_LogisticRegressionOutput(symbol)" args =>-                            String ->-                              ArgsHMap "_LogisticRegressionOutput(symbol)" args ->-                                IO SymbolHandle-_LogisticRegressionOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LogisticRegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_LogisticRegressionOutput(symbol)" = '[]--_backward_LogisticRegressionOutput ::-                                   forall args .-                                     Fullfilled "_backward_LogisticRegressionOutput(symbol)" args =>-                                     String ->-                                       ArgsHMap "_backward_LogisticRegressionOutput(symbol)" args ->-                                         IO SymbolHandle-_backward_LogisticRegressionOutput name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LogisticRegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Pad(symbol)" = '[]--_backward_Pad ::-              forall args . Fullfilled "_backward_Pad(symbol)" args =>-                String -> ArgsHMap "_backward_Pad(symbol)" args -> IO SymbolHandle-_backward_Pad name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pad"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SoftmaxOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt SymbolHandle), '("label", AttrOpt SymbolHandle)]--_SoftmaxOutput ::-               forall args . Fullfilled "_SoftmaxOutput(symbol)" args =>-                 String -> ArgsHMap "_SoftmaxOutput(symbol)" args -> IO SymbolHandle-_SoftmaxOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SoftmaxOutput(symbol)" = '[]--_backward_SoftmaxOutput ::-                        forall args . Fullfilled "_backward_SoftmaxOutput(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_SoftmaxOutput(symbol)" args -> IO SymbolHandle-_backward_SoftmaxOutput name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Softmax(symbol)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_Softmax ::-         forall args . Fullfilled "_Softmax(symbol)" args =>-           String -> ArgsHMap "_Softmax(symbol)" args -> IO SymbolHandle-_Softmax name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Softmax(symbol)" = '[]--_backward_Softmax ::-                  forall args . Fullfilled "_backward_Softmax(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_Softmax(symbol)" args -> IO SymbolHandle-_backward_Softmax name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SequenceReverse(symbol)" =-     '[ '("use_sequence_length", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle),-        '("sequence_length", AttrOpt SymbolHandle)]--_SequenceReverse ::-                 forall args . Fullfilled "_SequenceReverse(symbol)" args =>-                   String ->-                     ArgsHMap "_SequenceReverse(symbol)" args -> IO SymbolHandle-_SequenceReverse name args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceReverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SequenceReverse(symbol)" =-     '[]--_backward_SequenceReverse ::-                          forall args .-                            Fullfilled "_backward_SequenceReverse(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_SequenceReverse(symbol)" args ->-                                IO SymbolHandle-_backward_SequenceReverse name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceReverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_BatchNorm_v1(symbol)" = '[]--_backward_BatchNorm_v1 ::-                       forall args . Fullfilled "_backward_BatchNorm_v1(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_BatchNorm_v1(symbol)" args -> IO SymbolHandle-_backward_BatchNorm_v1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SequenceLast(symbol)" =-     '[ '("use_sequence_length", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle),-        '("sequence_length", AttrOpt SymbolHandle)]--_SequenceLast ::-              forall args . Fullfilled "_SequenceLast(symbol)" args =>-                String -> ArgsHMap "_SequenceLast(symbol)" args -> IO SymbolHandle-_SequenceLast name args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceLast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SequenceLast(symbol)" = '[]--_backward_SequenceLast ::-                       forall args . Fullfilled "_backward_SequenceLast(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_SequenceLast(symbol)" args -> IO SymbolHandle-_backward_SequenceLast name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceLast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Correlation(symbol)" =-     '[ '("kernel_size", AttrOpt Int),-        '("max_displacement", AttrOpt Int), '("stride1", AttrOpt Int),-        '("stride2", AttrOpt Int), '("pad_size", AttrOpt Int),-        '("is_multiply", AttrOpt Bool), '("data1", AttrOpt SymbolHandle),-        '("data2", AttrOpt SymbolHandle)]--_Correlation ::-             forall args . Fullfilled "_Correlation(symbol)" args =>-               String -> ArgsHMap "_Correlation(symbol)" args -> IO SymbolHandle-_Correlation name args-  = let scalarArgs-          = catMaybes-              [("kernel_size",) . showValue <$>-                 (args !? #kernel_size :: Maybe Int),-               ("max_displacement",) . showValue <$>-                 (args !? #max_displacement :: Maybe Int),-               ("stride1",) . showValue <$> (args !? #stride1 :: Maybe Int),-               ("stride2",) . showValue <$> (args !? #stride2 :: Maybe Int),-               ("pad_size",) . showValue <$> (args !? #pad_size :: Maybe Int),-               ("is_multiply",) . showValue <$>-                 (args !? #is_multiply :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data1",) <$> (args !? #data1 :: Maybe SymbolHandle),-               ("data2",) <$> (args !? #data2 :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Correlation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Correlation(symbol)" = '[]--_backward_Correlation ::-                      forall args . Fullfilled "_backward_Correlation(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_Correlation(symbol)" args -> IO SymbolHandle-_backward_Correlation name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Correlation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_MakeLoss(symbol)" =-     '[ '("grad_scale", AttrOpt Float),-        '("valid_thresh", AttrOpt Float),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("data", AttrOpt SymbolHandle)]--_MakeLoss ::-          forall args . Fullfilled "_MakeLoss(symbol)" args =>-            String -> ArgsHMap "_MakeLoss(symbol)" args -> IO SymbolHandle-_MakeLoss name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MakeLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_MakeLoss(symbol)" = '[]--_backward_MakeLoss ::-                   forall args . Fullfilled "_backward_MakeLoss(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_MakeLoss(symbol)" args -> IO SymbolHandle-_backward_MakeLoss name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MakeLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LRN(symbol)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("knorm", AttrOpt Float), '("nsize", AttrReq Int),-        '("data", AttrOpt SymbolHandle)]--_LRN ::-     forall args . Fullfilled "_LRN(symbol)" args =>-       String -> ArgsHMap "_LRN(symbol)" args -> IO SymbolHandle-_LRN name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("knorm",) . showValue <$> (args !? #knorm :: Maybe Float),-               ("nsize",) . showValue <$> (args !? #nsize :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LRN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_LRN(symbol)" = '[]--_backward_LRN ::-              forall args . Fullfilled "_backward_LRN(symbol)" args =>-                String -> ArgsHMap "_backward_LRN(symbol)" args -> IO SymbolHandle-_backward_LRN name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LRN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SequenceMask(symbol)" =-     '[ '("use_sequence_length", AttrOpt Bool),-        '("value", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("sequence_length", AttrOpt SymbolHandle)]--_SequenceMask ::-              forall args . Fullfilled "_SequenceMask(symbol)" args =>-                String -> ArgsHMap "_SequenceMask(symbol)" args -> IO SymbolHandle-_SequenceMask name args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("value",) . showValue <$> (args !? #value :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceMask"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SequenceMask(symbol)" = '[]--_backward_SequenceMask ::-                       forall args . Fullfilled "_backward_SequenceMask(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_SequenceMask(symbol)" args -> IO SymbolHandle-_backward_SequenceMask name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceMask"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_GridGenerator(symbol)" =-     '[ '("transform_type", AttrReq (EnumType '["affine", "warp"])),-        '("target_shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--_GridGenerator ::-               forall args . Fullfilled "_GridGenerator(symbol)" args =>-                 String -> ArgsHMap "_GridGenerator(symbol)" args -> IO SymbolHandle-_GridGenerator name args-  = let scalarArgs-          = catMaybes-              [("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine", "warp"])),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "GridGenerator"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_GridGenerator(symbol)" = '[]--_backward_GridGenerator ::-                        forall args . Fullfilled "_backward_GridGenerator(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_GridGenerator(symbol)" args -> IO SymbolHandle-_backward_GridGenerator name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_GridGenerator"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Pooling_v1(symbol)" =-     '[ '("global_pool", AttrOpt Bool), '("kernel", AttrReq [Int]),-        '("pool_type", AttrReq (EnumType '["avg", "max", "sum"])),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--_Pooling_v1 ::-            forall args . Fullfilled "_Pooling_v1(symbol)" args =>-              String -> ArgsHMap "_Pooling_v1(symbol)" args -> IO SymbolHandle-_Pooling_v1 name args-  = let scalarArgs-          = catMaybes-              [("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Pooling_v1(symbol)" = '[]--_backward_Pooling_v1 ::-                     forall args . Fullfilled "_backward_Pooling_v1(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_Pooling_v1(symbol)" args -> IO SymbolHandle-_backward_Pooling_v1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_LeakyReLU(symbol)" = '[]--_backward_LeakyReLU ::-                    forall args . Fullfilled "_backward_LeakyReLU(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_LeakyReLU(symbol)" args -> IO SymbolHandle-_backward_LeakyReLU name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LeakyReLU"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_IdentityAttachKLSparseReg(symbol)" = '[]--_backward_IdentityAttachKLSparseReg ::-                                    forall args .-                                      Fullfilled "_backward_IdentityAttachKLSparseReg(symbol)"-                                        args =>-                                      String ->-                                        ArgsHMap "_backward_IdentityAttachKLSparseReg(symbol)" args-                                          -> IO SymbolHandle-_backward_IdentityAttachKLSparseReg name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_IdentityAttachKLSparseReg"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Activation(symbol)" =-     '[ '("act_type",-          AttrReq (EnumType '["relu", "sigmoid", "softrelu", "tanh"])),-        '("data", AttrOpt SymbolHandle)]--_Activation ::-            forall args . Fullfilled "_Activation(symbol)" args =>-              String -> ArgsHMap "_Activation(symbol)" args -> IO SymbolHandle-_Activation name args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe (EnumType '["relu", "sigmoid", "softrelu", "tanh"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Activation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Activation(symbol)" = '[]--_backward_Activation ::-                     forall args . Fullfilled "_backward_Activation(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_Activation(symbol)" args -> IO SymbolHandle-_backward_Activation name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Activation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_UpSampling(symbol)" = '[]--_backward_UpSampling ::-                     forall args . Fullfilled "_backward_UpSampling(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_UpSampling(symbol)" args -> IO SymbolHandle-_backward_UpSampling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_UpSampling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Deconvolution(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("adj", AttrOpt [Int]), '("target_shape", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle)]--_Deconvolution ::-               forall args . Fullfilled "_Deconvolution(symbol)" args =>-                 String -> ArgsHMap "_Deconvolution(symbol)" args -> IO SymbolHandle-_Deconvolution name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("adj",) . showValue <$> (args !? #adj :: Maybe [Int]),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Deconvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Deconvolution(symbol)" = '[]--_backward_Deconvolution ::-                        forall args . Fullfilled "_backward_Deconvolution(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_Deconvolution(symbol)" args -> IO SymbolHandle-_backward_Deconvolution name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Deconvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BilinearSampler(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("grid", AttrOpt SymbolHandle)]--_BilinearSampler ::-                 forall args . Fullfilled "_BilinearSampler(symbol)" args =>-                   String ->-                     ArgsHMap "_BilinearSampler(symbol)" args -> IO SymbolHandle-_BilinearSampler name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("grid",) <$> (args !? #grid :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BilinearSampler"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_BilinearSampler(symbol)" =-     '[]--_backward_BilinearSampler ::-                          forall args .-                            Fullfilled "_backward_BilinearSampler(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_BilinearSampler(symbol)" args ->-                                IO SymbolHandle-_backward_BilinearSampler name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BilinearSampler"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_ROIPooling(symbol)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float), '("data", AttrOpt SymbolHandle),-        '("rois", AttrOpt SymbolHandle)]--_ROIPooling ::-            forall args . Fullfilled "_ROIPooling(symbol)" args =>-              String -> ArgsHMap "_ROIPooling(symbol)" args -> IO SymbolHandle-_ROIPooling name args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_ROIPooling(symbol)" = '[]--_backward_ROIPooling ::-                     forall args . Fullfilled "_backward_ROIPooling(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_ROIPooling(symbol)" args -> IO SymbolHandle-_backward_ROIPooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SliceChannel(symbol)" = '[]--_backward_SliceChannel ::-                       forall args . Fullfilled "_backward_SliceChannel(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_SliceChannel(symbol)" args -> IO SymbolHandle-_backward_SliceChannel name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SliceChannel"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_CuDNNBatchNorm(symbol)" =-     '[]--_backward_CuDNNBatchNorm ::-                         forall args . Fullfilled "_backward_CuDNNBatchNorm(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_CuDNNBatchNorm(symbol)" args -> IO SymbolHandle-_backward_CuDNNBatchNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CuDNNBatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_FullyConnected(symbol)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle), '("bias", AttrOpt SymbolHandle)]--_FullyConnected ::-                forall args . Fullfilled "_FullyConnected(symbol)" args =>-                  String ->-                    ArgsHMap "_FullyConnected(symbol)" args -> IO SymbolHandle-_FullyConnected name args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "FullyConnected"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_FullyConnected(symbol)" =-     '[]--_backward_FullyConnected ::-                         forall args . Fullfilled "_backward_FullyConnected(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_FullyConnected(symbol)" args -> IO SymbolHandle-_backward_FullyConnected name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_FullyConnected"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Convolution(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle)]--_Convolution ::-             forall args . Fullfilled "_Convolution(symbol)" args =>-               String -> ArgsHMap "_Convolution(symbol)" args -> IO SymbolHandle-_Convolution name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Convolution(symbol)" = '[]--_backward_Convolution ::-                      forall args . Fullfilled "_backward_Convolution(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_Convolution(symbol)" args -> IO SymbolHandle-_backward_Convolution name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_L2Normalization(symbol)" =-     '[ '("eps", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["channel", "instance", "spatial"])),-        '("data", AttrOpt SymbolHandle)]--_L2Normalization ::-                 forall args . Fullfilled "_L2Normalization(symbol)" args =>-                   String ->-                     ArgsHMap "_L2Normalization(symbol)" args -> IO SymbolHandle-_L2Normalization name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["channel", "instance", "spatial"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "L2Normalization"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_L2Normalization(symbol)" =-     '[]--_backward_L2Normalization ::-                          forall args .-                            Fullfilled "_backward_L2Normalization(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_L2Normalization(symbol)" args ->-                                IO SymbolHandle-_backward_L2Normalization name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_L2Normalization"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Concat(symbol)" = '[]--_backward_Concat ::-                 forall args . Fullfilled "_backward_Concat(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_Concat(symbol)" args -> IO SymbolHandle-_backward_Concat name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Concat"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_RNN(symbol)" =-     '[ '("state_size", AttrReq Int), '("num_layers", AttrReq Int),-        '("bidirectional", AttrOpt Bool),-        '("mode",-          AttrReq (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-        '("p", AttrOpt Float), '("state_outputs", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle),-        '("parameters", AttrOpt SymbolHandle),-        '("state", AttrOpt SymbolHandle),-        '("state_cell", AttrOpt SymbolHandle)]--_RNN ::-     forall args . Fullfilled "_RNN(symbol)" args =>-       String -> ArgsHMap "_RNN(symbol)" args -> IO SymbolHandle-_RNN name args-  = let scalarArgs-          = catMaybes-              [("state_size",) . showValue <$>-                 (args !? #state_size :: Maybe Int),-               ("num_layers",) . showValue <$> (args !? #num_layers :: Maybe Int),-               ("bidirectional",) . showValue <$>-                 (args !? #bidirectional :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("state_outputs",) . showValue <$>-                 (args !? #state_outputs :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("parameters",) <$> (args !? #parameters :: Maybe SymbolHandle),-               ("state",) <$> (args !? #state :: Maybe SymbolHandle),-               ("state_cell",) <$> (args !? #state_cell :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "RNN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_RNN(symbol)" = '[]--_backward_RNN ::-              forall args . Fullfilled "_backward_RNN(symbol)" args =>-                String -> ArgsHMap "_backward_RNN(symbol)" args -> IO SymbolHandle-_backward_RNN name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_RNN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_BatchNorm(symbol)" = '[]--_backward_BatchNorm ::-                    forall args . Fullfilled "_backward_BatchNorm(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_BatchNorm(symbol)" args -> IO SymbolHandle-_backward_BatchNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Dropout(symbol)" =-     '[ '("p", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["always", "training"])),-        '("data", AttrOpt SymbolHandle)]--_Dropout ::-         forall args . Fullfilled "_Dropout(symbol)" args =>-           String -> ArgsHMap "_Dropout(symbol)" args -> IO SymbolHandle-_Dropout name args-  = let scalarArgs-          = catMaybes-              [("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["always", "training"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Dropout"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Dropout(symbol)" = '[]--_backward_Dropout ::-                  forall args . Fullfilled "_backward_Dropout(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_Dropout(symbol)" args -> IO SymbolHandle-_backward_Dropout name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Dropout"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CrossDeviceCopy(symbol)" = '[]--_CrossDeviceCopy ::-                 forall args . Fullfilled "_CrossDeviceCopy(symbol)" args =>-                   String ->-                     ArgsHMap "_CrossDeviceCopy(symbol)" args -> IO SymbolHandle-_CrossDeviceCopy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CrossDeviceCopy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__CrossDeviceCopy(symbol)" =-     '[]--_backward__CrossDeviceCopy ::-                           forall args .-                             Fullfilled "_backward__CrossDeviceCopy(symbol)" args =>-                             String ->-                               ArgsHMap "_backward__CrossDeviceCopy(symbol)" args ->-                                 IO SymbolHandle-_backward__CrossDeviceCopy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__CrossDeviceCopy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SoftmaxActivation(symbol)" =-     '[ '("mode", AttrOpt (EnumType '["channel", "instance"])),-        '("data", AttrOpt SymbolHandle)]--_SoftmaxActivation ::-                   forall args . Fullfilled "_SoftmaxActivation(symbol)" args =>-                     String ->-                       ArgsHMap "_SoftmaxActivation(symbol)" args -> IO SymbolHandle-_SoftmaxActivation name args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["channel", "instance"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxActivation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SoftmaxActivation(symbol)" =-     '[]--_backward_SoftmaxActivation ::-                            forall args .-                              Fullfilled "_backward_SoftmaxActivation(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_SoftmaxActivation(symbol)" args ->-                                  IO SymbolHandle-_backward_SoftmaxActivation name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxActivation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_set_value(symbol)" =-     '[ '("src", AttrOpt Float)]--_set_value ::-           forall args . Fullfilled "_set_value(symbol)" args =>-             String -> ArgsHMap "_set_value(symbol)" args -> IO SymbolHandle-_set_value name args-  = let scalarArgs-          = catMaybes-              [("src",) . showValue <$> (args !? #src :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_set_value"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_imdecode(symbol)" =-     '[ '("index", AttrOpt Int), '("x0", AttrOpt Int),-        '("y0", AttrOpt Int), '("x1", AttrOpt Int), '("y1", AttrOpt Int),-        '("c", AttrOpt Int), '("size", AttrOpt Int),-        '("mean", AttrOpt SymbolHandle)]--_imdecode ::-          forall args . Fullfilled "_imdecode(symbol)" args =>-            String -> ArgsHMap "_imdecode(symbol)" args -> IO SymbolHandle-_imdecode name args-  = let scalarArgs-          = catMaybes-              [("index",) . showValue <$> (args !? #index :: Maybe Int),-               ("x0",) . showValue <$> (args !? #x0 :: Maybe Int),-               ("y0",) . showValue <$> (args !? #y0 :: Maybe Int),-               ("x1",) . showValue <$> (args !? #x1 :: Maybe Int),-               ("y1",) . showValue <$> (args !? #y1 :: Maybe Int),-               ("c",) . showValue <$> (args !? #c :: Maybe Int),-               ("size",) . showValue <$> (args !? #size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("mean",) <$> (args !? #mean :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_imdecode"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym
− ops/1.3/MXNet/Base/Operators/NDArray.hs
@@ -1,20011 +0,0 @@-module MXNet.Base.Operators.NDArray where-import MXNet.Base.Raw-import MXNet.Base.Spec.Operator-import MXNet.Base.Spec.HMap-import Data.Maybe (catMaybes, fromMaybe)--type instance ParameterList "_sample_multinomial(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("get_prob", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--_sample_multinomial ::-                    forall args . Fullfilled "_sample_multinomial(ndarray)" args =>-                      ArgsHMap "_sample_multinomial(ndarray)" args -> IO [NDArrayHandle]-_sample_multinomial args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("get_prob",) . showValue <$> (args !? #get_prob :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_multinomial_upd ::-                        forall args . Fullfilled "_sample_multinomial(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_sample_multinomial(ndarray)" args -> IO ()-_sample_multinomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("get_prob",) . showValue <$> (args !? #get_prob :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sample_multinomial(ndarray)"-     = '[]--_backward_sample_multinomial ::-                             forall args .-                               Fullfilled "_backward_sample_multinomial(ndarray)" args =>-                               ArgsHMap "_backward_sample_multinomial(ndarray)" args ->-                                 IO [NDArrayHandle]-_backward_sample_multinomial args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sample_multinomial_upd ::-                                 forall args .-                                   Fullfilled "_backward_sample_multinomial(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_backward_sample_multinomial(ndarray)" args -> IO ()-_backward_sample_multinomial_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_uniform(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("low", AttrOpt NDArrayHandle), '("high", AttrOpt NDArrayHandle)]--_sample_uniform ::-                forall args . Fullfilled "_sample_uniform(ndarray)" args =>-                  ArgsHMap "_sample_uniform(ndarray)" args -> IO [NDArrayHandle]-_sample_uniform args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("low",) <$> (args !? #low :: Maybe NDArrayHandle),-               ("high",) <$> (args !? #high :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_uniform_upd ::-                    forall args . Fullfilled "_sample_uniform(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_sample_uniform(ndarray)" args -> IO ()-_sample_uniform_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("low",) <$> (args !? #low :: Maybe NDArrayHandle),-               ("high",) <$> (args !? #high :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_normal(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt NDArrayHandle), '("sigma", AttrOpt NDArrayHandle)]--_sample_normal ::-               forall args . Fullfilled "_sample_normal(ndarray)" args =>-                 ArgsHMap "_sample_normal(ndarray)" args -> IO [NDArrayHandle]-_sample_normal args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("sigma",) <$> (args !? #sigma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_normal_upd ::-                   forall args . Fullfilled "_sample_normal(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_sample_normal(ndarray)" args -> IO ()-_sample_normal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("sigma",) <$> (args !? #sigma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_gamma(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("alpha", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_sample_gamma ::-              forall args . Fullfilled "_sample_gamma(ndarray)" args =>-                ArgsHMap "_sample_gamma(ndarray)" args -> IO [NDArrayHandle]-_sample_gamma args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_gamma_upd ::-                  forall args . Fullfilled "_sample_gamma(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_sample_gamma(ndarray)" args -> IO ()-_sample_gamma_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_exponential(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt NDArrayHandle)]--_sample_exponential ::-                    forall args . Fullfilled "_sample_exponential(ndarray)" args =>-                      ArgsHMap "_sample_exponential(ndarray)" args -> IO [NDArrayHandle]-_sample_exponential args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_exponential_upd ::-                        forall args . Fullfilled "_sample_exponential(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_sample_exponential(ndarray)" args -> IO ()-_sample_exponential_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_poisson(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt NDArrayHandle)]--_sample_poisson ::-                forall args . Fullfilled "_sample_poisson(ndarray)" args =>-                  ArgsHMap "_sample_poisson(ndarray)" args -> IO [NDArrayHandle]-_sample_poisson args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_poisson_upd ::-                    forall args . Fullfilled "_sample_poisson(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_sample_poisson(ndarray)" args -> IO ()-_sample_poisson_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_negative_binomial(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("k", AttrOpt NDArrayHandle), '("p", AttrOpt NDArrayHandle)]--_sample_negative_binomial ::-                          forall args .-                            Fullfilled "_sample_negative_binomial(ndarray)" args =>-                            ArgsHMap "_sample_negative_binomial(ndarray)" args ->-                              IO [NDArrayHandle]-_sample_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("k",) <$> (args !? #k :: Maybe NDArrayHandle),-               ("p",) <$> (args !? #p :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_negative_binomial_upd ::-                              forall args .-                                Fullfilled "_sample_negative_binomial(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_sample_negative_binomial(ndarray)" args -> IO ()-_sample_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("k",) <$> (args !? #k :: Maybe NDArrayHandle),-               ("p",) <$> (args !? #p :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_sample_generalized_negative_binomial(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt NDArrayHandle), '("alpha", AttrOpt NDArrayHandle)]--_sample_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_sample_generalized_negative_binomial(ndarray)"-                                          args =>-                                        ArgsHMap "_sample_generalized_negative_binomial(ndarray)"-                                          args-                                          -> IO [NDArrayHandle]-_sample_generalized_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_generalized_negative_binomial_upd ::-                                          forall args .-                                            Fullfilled-                                              "_sample_generalized_negative_binomial(ndarray)"-                                              args =>-                                            [NDArrayHandle] ->-                                              ArgsHMap-                                                "_sample_generalized_negative_binomial(ndarray)"-                                                args-                                                -> IO ()-_sample_generalized_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_unique_zipfian(ndarray)" =-     '[ '("range_max", AttrReq Int), '("shape", AttrOpt [Int])]--_sample_unique_zipfian ::-                       forall args . Fullfilled "_sample_unique_zipfian(ndarray)" args =>-                         ArgsHMap "_sample_unique_zipfian(ndarray)" args ->-                           IO [NDArrayHandle]-_sample_unique_zipfian args-  = let scalarArgs-          = catMaybes-              [("range_max",) . showValue <$> (args !? #range_max :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_unique_zipfian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_unique_zipfian_upd ::-                           forall args . Fullfilled "_sample_unique_zipfian(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_sample_unique_zipfian(ndarray)" args -> IO ()-_sample_unique_zipfian_upd outputs args-  = let scalarArgs-          = catMaybes-              [("range_max",) . showValue <$> (args !? #range_max :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_unique_zipfian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_uniform(ndarray)" =-     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_uniform ::-                forall args . Fullfilled "_random_uniform(ndarray)" args =>-                  ArgsHMap "_random_uniform(ndarray)" args -> IO [NDArrayHandle]-_random_uniform args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_uniform_upd ::-                    forall args . Fullfilled "_random_uniform(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_random_uniform(ndarray)" args -> IO ()-_random_uniform_upd outputs args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_normal(ndarray)" =-     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_normal ::-               forall args . Fullfilled "_random_normal(ndarray)" args =>-                 ArgsHMap "_random_normal(ndarray)" args -> IO [NDArrayHandle]-_random_normal args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_normal_upd ::-                   forall args . Fullfilled "_random_normal(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_random_normal(ndarray)" args -> IO ()-_random_normal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_gamma(ndarray)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_gamma ::-              forall args . Fullfilled "_random_gamma(ndarray)" args =>-                ArgsHMap "_random_gamma(ndarray)" args -> IO [NDArrayHandle]-_random_gamma args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_gamma_upd ::-                  forall args . Fullfilled "_random_gamma(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_random_gamma(ndarray)" args -> IO ()-_random_gamma_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_exponential(ndarray)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_exponential ::-                    forall args . Fullfilled "_random_exponential(ndarray)" args =>-                      ArgsHMap "_random_exponential(ndarray)" args -> IO [NDArrayHandle]-_random_exponential args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_exponential_upd ::-                        forall args . Fullfilled "_random_exponential(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_random_exponential(ndarray)" args -> IO ()-_random_exponential_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_poisson(ndarray)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_poisson ::-                forall args . Fullfilled "_random_poisson(ndarray)" args =>-                  ArgsHMap "_random_poisson(ndarray)" args -> IO [NDArrayHandle]-_random_poisson args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_poisson_upd ::-                    forall args . Fullfilled "_random_poisson(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_random_poisson(ndarray)" args -> IO ()-_random_poisson_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_negative_binomial(ndarray)" =-     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_negative_binomial ::-                          forall args .-                            Fullfilled "_random_negative_binomial(ndarray)" args =>-                            ArgsHMap "_random_negative_binomial(ndarray)" args ->-                              IO [NDArrayHandle]-_random_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_negative_binomial_upd ::-                              forall args .-                                Fullfilled "_random_negative_binomial(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_random_negative_binomial(ndarray)" args -> IO ()-_random_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_random_generalized_negative_binomial(ndarray)" =-     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_random_generalized_negative_binomial(ndarray)"-                                          args =>-                                        ArgsHMap "_random_generalized_negative_binomial(ndarray)"-                                          args-                                          -> IO [NDArrayHandle]-_random_generalized_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_generalized_negative_binomial_upd ::-                                          forall args .-                                            Fullfilled-                                              "_random_generalized_negative_binomial(ndarray)"-                                              args =>-                                            [NDArrayHandle] ->-                                              ArgsHMap-                                                "_random_generalized_negative_binomial(ndarray)"-                                                args-                                                -> IO ()-_random_generalized_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_shuffle(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_shuffle ::-         forall args . Fullfilled "_shuffle(ndarray)" args =>-           ArgsHMap "_shuffle(ndarray)" args -> IO [NDArrayHandle]-_shuffle args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_shuffle"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_shuffle_upd ::-             forall args . Fullfilled "_shuffle(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_shuffle(ndarray)" args -> IO ()-_shuffle_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_shuffle"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Custom(ndarray)" = '[]--_backward_Custom ::-                 forall args . Fullfilled "_backward_Custom(ndarray)" args =>-                   ArgsHMap "_backward_Custom(ndarray)" args -> IO [NDArrayHandle]-_backward_Custom args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Custom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Custom_upd ::-                     forall args . Fullfilled "_backward_Custom(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_Custom(ndarray)" args -> IO ()-_backward_Custom_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Custom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_power(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_power ::-                forall args . Fullfilled "broadcast_power(ndarray)" args =>-                  ArgsHMap "broadcast_power(ndarray)" args -> IO [NDArrayHandle]-broadcast_power args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_power_upd ::-                    forall args . Fullfilled "broadcast_power(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "broadcast_power(ndarray)" args -> IO ()-broadcast_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_power(ndarray)" =-     '[]--_backward_broadcast_power ::-                          forall args .-                            Fullfilled "_backward_broadcast_power(ndarray)" args =>-                            ArgsHMap "_backward_broadcast_power(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_broadcast_power args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_power_upd ::-                              forall args .-                                Fullfilled "_backward_broadcast_power(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_broadcast_power(ndarray)" args -> IO ()-_backward_broadcast_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_maximum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_maximum ::-                  forall args . Fullfilled "broadcast_maximum(ndarray)" args =>-                    ArgsHMap "broadcast_maximum(ndarray)" args -> IO [NDArrayHandle]-broadcast_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_maximum_upd ::-                      forall args . Fullfilled "broadcast_maximum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "broadcast_maximum(ndarray)" args -> IO ()-broadcast_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_maximum(ndarray)"-     = '[]--_backward_broadcast_maximum ::-                            forall args .-                              Fullfilled "_backward_broadcast_maximum(ndarray)" args =>-                              ArgsHMap "_backward_broadcast_maximum(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_broadcast_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_maximum_upd ::-                                forall args .-                                  Fullfilled "_backward_broadcast_maximum(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_broadcast_maximum(ndarray)" args -> IO ()-_backward_broadcast_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_minimum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_minimum ::-                  forall args . Fullfilled "broadcast_minimum(ndarray)" args =>-                    ArgsHMap "broadcast_minimum(ndarray)" args -> IO [NDArrayHandle]-broadcast_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_minimum_upd ::-                      forall args . Fullfilled "broadcast_minimum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "broadcast_minimum(ndarray)" args -> IO ()-broadcast_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_minimum(ndarray)"-     = '[]--_backward_broadcast_minimum ::-                            forall args .-                              Fullfilled "_backward_broadcast_minimum(ndarray)" args =>-                              ArgsHMap "_backward_broadcast_minimum(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_broadcast_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_minimum_upd ::-                                forall args .-                                  Fullfilled "_backward_broadcast_minimum(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_broadcast_minimum(ndarray)" args -> IO ()-_backward_broadcast_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_hypot(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_hypot ::-                forall args . Fullfilled "broadcast_hypot(ndarray)" args =>-                  ArgsHMap "broadcast_hypot(ndarray)" args -> IO [NDArrayHandle]-broadcast_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_hypot_upd ::-                    forall args . Fullfilled "broadcast_hypot(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "broadcast_hypot(ndarray)" args -> IO ()-broadcast_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_hypot(ndarray)" =-     '[]--_backward_broadcast_hypot ::-                          forall args .-                            Fullfilled "_backward_broadcast_hypot(ndarray)" args =>-                            ArgsHMap "_backward_broadcast_hypot(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_broadcast_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_hypot_upd ::-                              forall args .-                                Fullfilled "_backward_broadcast_hypot(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_broadcast_hypot(ndarray)" args -> IO ()-_backward_broadcast_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_equal ::-       forall args . Fullfilled "_equal(ndarray)" args =>-         ArgsHMap "_equal(ndarray)" args -> IO [NDArrayHandle]-_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_equal_upd ::-           forall args . Fullfilled "_equal(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_equal(ndarray)" args -> IO ()-_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_not_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_not_equal ::-           forall args . Fullfilled "_not_equal(ndarray)" args =>-             ArgsHMap "_not_equal(ndarray)" args -> IO [NDArrayHandle]-_not_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_not_equal_upd ::-               forall args . Fullfilled "_not_equal(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_not_equal(ndarray)" args -> IO ()-_not_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_greater ::-         forall args . Fullfilled "_greater(ndarray)" args =>-           ArgsHMap "_greater(ndarray)" args -> IO [NDArrayHandle]-_greater args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_upd ::-             forall args . Fullfilled "_greater(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_greater(ndarray)" args -> IO ()-_greater_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_greater_equal ::-               forall args . Fullfilled "_greater_equal(ndarray)" args =>-                 ArgsHMap "_greater_equal(ndarray)" args -> IO [NDArrayHandle]-_greater_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_equal_upd ::-                   forall args . Fullfilled "_greater_equal(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_greater_equal(ndarray)" args -> IO ()-_greater_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_lesser ::-        forall args . Fullfilled "_lesser(ndarray)" args =>-          ArgsHMap "_lesser(ndarray)" args -> IO [NDArrayHandle]-_lesser args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_upd ::-            forall args . Fullfilled "_lesser(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_lesser(ndarray)" args -> IO ()-_lesser_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_lesser_equal ::-              forall args . Fullfilled "_lesser_equal(ndarray)" args =>-                ArgsHMap "_lesser_equal(ndarray)" args -> IO [NDArrayHandle]-_lesser_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_equal_upd ::-                  forall args . Fullfilled "_lesser_equal(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_lesser_equal(ndarray)" args -> IO ()-_lesser_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_and(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_logical_and ::-             forall args . Fullfilled "_logical_and(ndarray)" args =>-               ArgsHMap "_logical_and(ndarray)" args -> IO [NDArrayHandle]-_logical_and args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_and_upd ::-                 forall args . Fullfilled "_logical_and(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_logical_and(ndarray)" args -> IO ()-_logical_and_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_or(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_logical_or ::-            forall args . Fullfilled "_logical_or(ndarray)" args =>-              ArgsHMap "_logical_or(ndarray)" args -> IO [NDArrayHandle]-_logical_or args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_or_upd ::-                forall args . Fullfilled "_logical_or(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_logical_or(ndarray)" args -> IO ()-_logical_or_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_xor(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_logical_xor ::-             forall args . Fullfilled "_logical_xor(ndarray)" args =>-               ArgsHMap "_logical_xor(ndarray)" args -> IO [NDArrayHandle]-_logical_xor args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_xor_upd ::-                 forall args . Fullfilled "_logical_xor(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_logical_xor(ndarray)" args -> IO ()-_logical_xor_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_power(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_power ::-       forall args . Fullfilled "_power(ndarray)" args =>-         ArgsHMap "_power(ndarray)" args -> IO [NDArrayHandle]-_power args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_power_upd ::-           forall args . Fullfilled "_power(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_power(ndarray)" args -> IO ()-_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_power(ndarray)" = '[]--_backward_power ::-                forall args . Fullfilled "_backward_power(ndarray)" args =>-                  ArgsHMap "_backward_power(ndarray)" args -> IO [NDArrayHandle]-_backward_power args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_power_upd ::-                    forall args . Fullfilled "_backward_power(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_power(ndarray)" args -> IO ()-_backward_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_maximum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_maximum ::-         forall args . Fullfilled "_maximum(ndarray)" args =>-           ArgsHMap "_maximum(ndarray)" args -> IO [NDArrayHandle]-_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_maximum_upd ::-             forall args . Fullfilled "_maximum(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_maximum(ndarray)" args -> IO ()-_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_maximum(ndarray)" = '[]--_backward_maximum ::-                  forall args . Fullfilled "_backward_maximum(ndarray)" args =>-                    ArgsHMap "_backward_maximum(ndarray)" args -> IO [NDArrayHandle]-_backward_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_maximum_upd ::-                      forall args . Fullfilled "_backward_maximum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_maximum(ndarray)" args -> IO ()-_backward_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_minimum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_minimum ::-         forall args . Fullfilled "_minimum(ndarray)" args =>-           ArgsHMap "_minimum(ndarray)" args -> IO [NDArrayHandle]-_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_minimum_upd ::-             forall args . Fullfilled "_minimum(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_minimum(ndarray)" args -> IO ()-_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_minimum(ndarray)" = '[]--_backward_minimum ::-                  forall args . Fullfilled "_backward_minimum(ndarray)" args =>-                    ArgsHMap "_backward_minimum(ndarray)" args -> IO [NDArrayHandle]-_backward_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_minimum_upd ::-                      forall args . Fullfilled "_backward_minimum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_minimum(ndarray)" args -> IO ()-_backward_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_hypot(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_hypot ::-       forall args . Fullfilled "_hypot(ndarray)" args =>-         ArgsHMap "_hypot(ndarray)" args -> IO [NDArrayHandle]-_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_hypot_upd ::-           forall args . Fullfilled "_hypot(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_hypot(ndarray)" args -> IO ()-_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_hypot(ndarray)" = '[]--_backward_hypot ::-                forall args . Fullfilled "_backward_hypot(ndarray)" args =>-                  ArgsHMap "_backward_hypot(ndarray)" args -> IO [NDArrayHandle]-_backward_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_hypot_upd ::-                    forall args . Fullfilled "_backward_hypot(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_hypot(ndarray)" args -> IO ()-_backward_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_square_sum(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--_square_sum ::-            forall args . Fullfilled "_square_sum(ndarray)" args =>-              ArgsHMap "_square_sum(ndarray)" args -> IO [NDArrayHandle]-_square_sum args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_square_sum_upd ::-                forall args . Fullfilled "_square_sum(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_square_sum(ndarray)" args -> IO ()-_square_sum_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_square_sum(ndarray)" = '[]--_backward_square_sum ::-                     forall args . Fullfilled "_backward_square_sum(ndarray)" args =>-                       ArgsHMap "_backward_square_sum(ndarray)" args -> IO [NDArrayHandle]-_backward_square_sum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_square_sum_upd ::-                         forall args . Fullfilled "_backward_square_sum(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_square_sum(ndarray)" args -> IO ()-_backward_square_sum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "add_n(ndarray)" =-     '[ '("args", AttrOpt [NDArrayHandle])]--add_n ::-      forall args . Fullfilled "add_n(ndarray)" args =>-        ArgsHMap "add_n(ndarray)" args -> IO [NDArrayHandle]-add_n args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "add_n"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--add_n_upd ::-          forall args . Fullfilled "add_n(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "add_n(ndarray)" args -> IO ()-add_n_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "add_n"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_zeros(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_zeros ::-       forall args . Fullfilled "_zeros(ndarray)" args =>-         ArgsHMap "_zeros(ndarray)" args -> IO [NDArrayHandle]-_zeros args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_zeros_upd ::-           forall args . Fullfilled "_zeros(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_zeros(ndarray)" args -> IO ()-_zeros_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_eye(ndarray)" =-     '[ '("_N", AttrReq Int), '("_M", AttrOpt Int), '("k", AttrOpt Int),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_eye ::-     forall args . Fullfilled "_eye(ndarray)" args =>-       ArgsHMap "_eye(ndarray)" args -> IO [NDArrayHandle]-_eye args-  = let scalarArgs-          = catMaybes-              [("_N",) . showValue <$> (args !? #_N :: Maybe Int),-               ("_M",) . showValue <$> (args !? #_M :: Maybe Int),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_eye"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_eye_upd ::-         forall args . Fullfilled "_eye(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_eye(ndarray)" args -> IO ()-_eye_upd outputs args-  = let scalarArgs-          = catMaybes-              [("_N",) . showValue <$> (args !? #_N :: Maybe Int),-               ("_M",) . showValue <$> (args !? #_M :: Maybe Int),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_eye"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_ones(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_ones ::-      forall args . Fullfilled "_ones(ndarray)" args =>-        ArgsHMap "_ones(ndarray)" args -> IO [NDArrayHandle]-_ones args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ones"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_ones_upd ::-          forall args . Fullfilled "_ones(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_ones(ndarray)" args -> IO ()-_ones_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ones"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_full(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("value", AttrReq Double)]--_full ::-      forall args . Fullfilled "_full(ndarray)" args =>-        ArgsHMap "_full(ndarray)" args -> IO [NDArrayHandle]-_full args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("value",) . showValue <$> (args !? #value :: Maybe Double)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_full"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_full_upd ::-          forall args . Fullfilled "_full(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_full(ndarray)" args -> IO ()-_full_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("value",) . showValue <$> (args !? #value :: Maybe Double)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_full"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_arange(ndarray)" =-     '[ '("start", AttrReq Double), '("stop", AttrOpt (Maybe Double)),-        '("step", AttrOpt Double), '("repeat", AttrOpt Int),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_arange ::-        forall args . Fullfilled "_arange(ndarray)" args =>-          ArgsHMap "_arange(ndarray)" args -> IO [NDArrayHandle]-_arange args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_arange"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_arange_upd ::-            forall args . Fullfilled "_arange(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_arange(ndarray)" args -> IO ()-_arange_upd outputs args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_arange"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "zeros_like(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--zeros_like ::-           forall args . Fullfilled "zeros_like(ndarray)" args =>-             ArgsHMap "zeros_like(ndarray)" args -> IO [NDArrayHandle]-zeros_like args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "zeros_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--zeros_like_upd ::-               forall args . Fullfilled "zeros_like(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "zeros_like(ndarray)" args -> IO ()-zeros_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "zeros_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ones_like(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--ones_like ::-          forall args . Fullfilled "ones_like(ndarray)" args =>-            ArgsHMap "ones_like(ndarray)" args -> IO [NDArrayHandle]-ones_like args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ones_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ones_like_upd ::-              forall args . Fullfilled "ones_like(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "ones_like(ndarray)" args -> IO ()-ones_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ones_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_add(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_add ::-              forall args . Fullfilled "broadcast_add(ndarray)" args =>-                ArgsHMap "broadcast_add(ndarray)" args -> IO [NDArrayHandle]-broadcast_add args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_add_upd ::-                  forall args . Fullfilled "broadcast_add(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_add(ndarray)" args -> IO ()-broadcast_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_add(ndarray)" =-     '[]--_backward_broadcast_add ::-                        forall args . Fullfilled "_backward_broadcast_add(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_add(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_add args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_add_upd ::-                            forall args . Fullfilled "_backward_broadcast_add(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_add(ndarray)" args -> IO ()-_backward_broadcast_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_sub(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_sub ::-              forall args . Fullfilled "broadcast_sub(ndarray)" args =>-                ArgsHMap "broadcast_sub(ndarray)" args -> IO [NDArrayHandle]-broadcast_sub args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_sub_upd ::-                  forall args . Fullfilled "broadcast_sub(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_sub(ndarray)" args -> IO ()-broadcast_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_sub(ndarray)" =-     '[]--_backward_broadcast_sub ::-                        forall args . Fullfilled "_backward_broadcast_sub(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_sub(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_sub args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_sub_upd ::-                            forall args . Fullfilled "_backward_broadcast_sub(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_sub(ndarray)" args -> IO ()-_backward_broadcast_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_mul(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_mul ::-              forall args . Fullfilled "broadcast_mul(ndarray)" args =>-                ArgsHMap "broadcast_mul(ndarray)" args -> IO [NDArrayHandle]-broadcast_mul args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_mul_upd ::-                  forall args . Fullfilled "broadcast_mul(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_mul(ndarray)" args -> IO ()-broadcast_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_mul(ndarray)" =-     '[]--_backward_broadcast_mul ::-                        forall args . Fullfilled "_backward_broadcast_mul(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_mul(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_mul args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_mul_upd ::-                            forall args . Fullfilled "_backward_broadcast_mul(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_mul(ndarray)" args -> IO ()-_backward_broadcast_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_div(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_div ::-              forall args . Fullfilled "broadcast_div(ndarray)" args =>-                ArgsHMap "broadcast_div(ndarray)" args -> IO [NDArrayHandle]-broadcast_div args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_div_upd ::-                  forall args . Fullfilled "broadcast_div(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_div(ndarray)" args -> IO ()-broadcast_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_div(ndarray)" =-     '[]--_backward_broadcast_div ::-                        forall args . Fullfilled "_backward_broadcast_div(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_div(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_div args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_div_upd ::-                            forall args . Fullfilled "_backward_broadcast_div(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_div(ndarray)" args -> IO ()-_backward_broadcast_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_mod(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_mod ::-              forall args . Fullfilled "broadcast_mod(ndarray)" args =>-                ArgsHMap "broadcast_mod(ndarray)" args -> IO [NDArrayHandle]-broadcast_mod args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_mod_upd ::-                  forall args . Fullfilled "broadcast_mod(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_mod(ndarray)" args -> IO ()-broadcast_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_mod(ndarray)" =-     '[]--_backward_broadcast_mod ::-                        forall args . Fullfilled "_backward_broadcast_mod(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_mod(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_mod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_mod_upd ::-                            forall args . Fullfilled "_backward_broadcast_mod(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_mod(ndarray)" args -> IO ()-_backward_broadcast_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_gemm(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("beta", AttrOpt Double),-        '("axis", AttrOpt Int), '("_A", AttrOpt NDArrayHandle),-        '("_B", AttrOpt NDArrayHandle), '("_C", AttrOpt NDArrayHandle)]--_linalg_gemm ::-             forall args . Fullfilled "_linalg_gemm(ndarray)" args =>-               ArgsHMap "_linalg_gemm(ndarray)" args -> IO [NDArrayHandle]-_linalg_gemm args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle),-               ("_C",) <$> (args !? #_C :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_gemm_upd ::-                 forall args . Fullfilled "_linalg_gemm(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_gemm(ndarray)" args -> IO ()-_linalg_gemm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle),-               ("_C",) <$> (args !? #_C :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_gemm(ndarray)" = '[]--_backward_linalg_gemm ::-                      forall args . Fullfilled "_backward_linalg_gemm(ndarray)" args =>-                        ArgsHMap "_backward_linalg_gemm(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_gemm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_gemm_upd ::-                          forall args . Fullfilled "_backward_linalg_gemm(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_gemm(ndarray)" args -> IO ()-_backward_linalg_gemm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_gemm2(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("axis", AttrOpt Int),-        '("_A", AttrOpt NDArrayHandle), '("_B", AttrOpt NDArrayHandle)]--_linalg_gemm2 ::-              forall args . Fullfilled "_linalg_gemm2(ndarray)" args =>-                ArgsHMap "_linalg_gemm2(ndarray)" args -> IO [NDArrayHandle]-_linalg_gemm2 args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_gemm2_upd ::-                  forall args . Fullfilled "_linalg_gemm2(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_gemm2(ndarray)" args -> IO ()-_linalg_gemm2_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_gemm2(ndarray)" = '[]--_backward_linalg_gemm2 ::-                       forall args . Fullfilled "_backward_linalg_gemm2(ndarray)" args =>-                         ArgsHMap "_backward_linalg_gemm2(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_gemm2 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_gemm2_upd ::-                           forall args . Fullfilled "_backward_linalg_gemm2(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_gemm2(ndarray)" args -> IO ()-_backward_linalg_gemm2_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_potrf(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_potrf ::-              forall args . Fullfilled "_linalg_potrf(ndarray)" args =>-                ArgsHMap "_linalg_potrf(ndarray)" args -> IO [NDArrayHandle]-_linalg_potrf args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_potrf_upd ::-                  forall args . Fullfilled "_linalg_potrf(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_potrf(ndarray)" args -> IO ()-_linalg_potrf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_potrf(ndarray)" = '[]--_backward_linalg_potrf ::-                       forall args . Fullfilled "_backward_linalg_potrf(ndarray)" args =>-                         ArgsHMap "_backward_linalg_potrf(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_potrf args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_potrf_upd ::-                           forall args . Fullfilled "_backward_linalg_potrf(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_potrf(ndarray)" args -> IO ()-_backward_linalg_potrf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_potri(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_potri ::-              forall args . Fullfilled "_linalg_potri(ndarray)" args =>-                ArgsHMap "_linalg_potri(ndarray)" args -> IO [NDArrayHandle]-_linalg_potri args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_potri_upd ::-                  forall args . Fullfilled "_linalg_potri(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_potri(ndarray)" args -> IO ()-_linalg_potri_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_potri(ndarray)" = '[]--_backward_linalg_potri ::-                       forall args . Fullfilled "_backward_linalg_potri(ndarray)" args =>-                         ArgsHMap "_backward_linalg_potri(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_potri args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_potri_upd ::-                           forall args . Fullfilled "_backward_linalg_potri(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_potri(ndarray)" args -> IO ()-_backward_linalg_potri_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_trmm(ndarray)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("_A", AttrOpt NDArrayHandle),-        '("_B", AttrOpt NDArrayHandle)]--_linalg_trmm ::-             forall args . Fullfilled "_linalg_trmm(ndarray)" args =>-               ArgsHMap "_linalg_trmm(ndarray)" args -> IO [NDArrayHandle]-_linalg_trmm args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_trmm_upd ::-                 forall args . Fullfilled "_linalg_trmm(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_trmm(ndarray)" args -> IO ()-_linalg_trmm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_trmm(ndarray)" = '[]--_backward_linalg_trmm ::-                      forall args . Fullfilled "_backward_linalg_trmm(ndarray)" args =>-                        ArgsHMap "_backward_linalg_trmm(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_trmm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_trmm_upd ::-                          forall args . Fullfilled "_backward_linalg_trmm(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_trmm(ndarray)" args -> IO ()-_backward_linalg_trmm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_trsm(ndarray)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("_A", AttrOpt NDArrayHandle),-        '("_B", AttrOpt NDArrayHandle)]--_linalg_trsm ::-             forall args . Fullfilled "_linalg_trsm(ndarray)" args =>-               ArgsHMap "_linalg_trsm(ndarray)" args -> IO [NDArrayHandle]-_linalg_trsm args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_trsm_upd ::-                 forall args . Fullfilled "_linalg_trsm(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_trsm(ndarray)" args -> IO ()-_linalg_trsm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_trsm(ndarray)" = '[]--_backward_linalg_trsm ::-                      forall args . Fullfilled "_backward_linalg_trsm(ndarray)" args =>-                        ArgsHMap "_backward_linalg_trsm(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_trsm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_trsm_upd ::-                          forall args . Fullfilled "_backward_linalg_trsm(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_trsm(ndarray)" args -> IO ()-_backward_linalg_trsm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_sumlogdiag(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_sumlogdiag ::-                   forall args . Fullfilled "_linalg_sumlogdiag(ndarray)" args =>-                     ArgsHMap "_linalg_sumlogdiag(ndarray)" args -> IO [NDArrayHandle]-_linalg_sumlogdiag args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_sumlogdiag_upd ::-                       forall args . Fullfilled "_linalg_sumlogdiag(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_linalg_sumlogdiag(ndarray)" args -> IO ()-_linalg_sumlogdiag_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_sumlogdiag(ndarray)"-     = '[]--_backward_linalg_sumlogdiag ::-                            forall args .-                              Fullfilled "_backward_linalg_sumlogdiag(ndarray)" args =>-                              ArgsHMap "_backward_linalg_sumlogdiag(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_linalg_sumlogdiag args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_sumlogdiag_upd ::-                                forall args .-                                  Fullfilled "_backward_linalg_sumlogdiag(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_linalg_sumlogdiag(ndarray)" args -> IO ()-_backward_linalg_sumlogdiag_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_syrk(ndarray)" =-     '[ '("transpose", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt NDArrayHandle)]--_linalg_syrk ::-             forall args . Fullfilled "_linalg_syrk(ndarray)" args =>-               ArgsHMap "_linalg_syrk(ndarray)" args -> IO [NDArrayHandle]-_linalg_syrk args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_syrk_upd ::-                 forall args . Fullfilled "_linalg_syrk(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_syrk(ndarray)" args -> IO ()-_linalg_syrk_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_syrk(ndarray)" = '[]--_backward_linalg_syrk ::-                      forall args . Fullfilled "_backward_linalg_syrk(ndarray)" args =>-                        ArgsHMap "_backward_linalg_syrk(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_syrk args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_syrk_upd ::-                          forall args . Fullfilled "_backward_linalg_syrk(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_syrk(ndarray)" args -> IO ()-_backward_linalg_syrk_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_gelqf(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_gelqf ::-              forall args . Fullfilled "_linalg_gelqf(ndarray)" args =>-                ArgsHMap "_linalg_gelqf(ndarray)" args -> IO [NDArrayHandle]-_linalg_gelqf args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_gelqf_upd ::-                  forall args . Fullfilled "_linalg_gelqf(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_gelqf(ndarray)" args -> IO ()-_linalg_gelqf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_gelqf(ndarray)" = '[]--_backward_linalg_gelqf ::-                       forall args . Fullfilled "_backward_linalg_gelqf(ndarray)" args =>-                         ArgsHMap "_backward_linalg_gelqf(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_gelqf args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_gelqf_upd ::-                           forall args . Fullfilled "_backward_linalg_gelqf(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_gelqf(ndarray)" args -> IO ()-_backward_linalg_gelqf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_syevd(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_syevd ::-              forall args . Fullfilled "_linalg_syevd(ndarray)" args =>-                ArgsHMap "_linalg_syevd(ndarray)" args -> IO [NDArrayHandle]-_linalg_syevd args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_syevd_upd ::-                  forall args . Fullfilled "_linalg_syevd(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_syevd(ndarray)" args -> IO ()-_linalg_syevd_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_syevd(ndarray)" = '[]--_backward_linalg_syevd ::-                       forall args . Fullfilled "_backward_linalg_syevd(ndarray)" args =>-                         ArgsHMap "_backward_linalg_syevd(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_syevd args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_syevd_upd ::-                           forall args . Fullfilled "_backward_linalg_syevd(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_syevd(ndarray)" args -> IO ()-_backward_linalg_syevd_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_histogram(ndarray)" =-     '[ '("bin_cnt", AttrOpt (Maybe Int)), '("range", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle), '("bins", AttrOpt NDArrayHandle)]--_histogram ::-           forall args . Fullfilled "_histogram(ndarray)" args =>-             ArgsHMap "_histogram(ndarray)" args -> IO [NDArrayHandle]-_histogram args-  = let scalarArgs-          = catMaybes-              [("bin_cnt",) . showValue <$>-                 (args !? #bin_cnt :: Maybe (Maybe Int)),-               ("range",) . showValue <$> (args !? #range :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("bins",) <$> (args !? #bins :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_histogram"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_histogram_upd ::-               forall args . Fullfilled "_histogram(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_histogram(ndarray)" args -> IO ()-_histogram_upd outputs args-  = let scalarArgs-          = catMaybes-              [("bin_cnt",) . showValue <$>-                 (args !? #bin_cnt :: Maybe (Maybe Int)),-               ("range",) . showValue <$> (args !? #range :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("bins",) <$> (args !? #bins :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_histogram"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cast_storage(ndarray)" =-     '[ '("stype",-          AttrReq (EnumType '["csr", "default", "row_sparse"])),-        '("data", AttrOpt NDArrayHandle)]--cast_storage ::-             forall args . Fullfilled "cast_storage(ndarray)" args =>-               ArgsHMap "cast_storage(ndarray)" args -> IO [NDArrayHandle]-cast_storage args-  = let scalarArgs-          = catMaybes-              [("stype",) . showValue <$>-                 (args !? #stype ::-                    Maybe (EnumType '["csr", "default", "row_sparse"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cast_storage"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cast_storage_upd ::-                 forall args . Fullfilled "cast_storage(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "cast_storage(ndarray)" args -> IO ()-cast_storage_upd outputs args-  = let scalarArgs-          = catMaybes-              [("stype",) . showValue <$>-                 (args !? #stype ::-                    Maybe (EnumType '["csr", "default", "row_sparse"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cast_storage"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_equal_scalar ::-              forall args . Fullfilled "_equal_scalar(ndarray)" args =>-                ArgsHMap "_equal_scalar(ndarray)" args -> IO [NDArrayHandle]-_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_equal_scalar_upd ::-                  forall args . Fullfilled "_equal_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_equal_scalar(ndarray)" args -> IO ()-_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_not_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_not_equal_scalar ::-                  forall args . Fullfilled "_not_equal_scalar(ndarray)" args =>-                    ArgsHMap "_not_equal_scalar(ndarray)" args -> IO [NDArrayHandle]-_not_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_not_equal_scalar_upd ::-                      forall args . Fullfilled "_not_equal_scalar(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_not_equal_scalar(ndarray)" args -> IO ()-_not_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_greater_scalar ::-                forall args . Fullfilled "_greater_scalar(ndarray)" args =>-                  ArgsHMap "_greater_scalar(ndarray)" args -> IO [NDArrayHandle]-_greater_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_scalar_upd ::-                    forall args . Fullfilled "_greater_scalar(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_greater_scalar(ndarray)" args -> IO ()-_greater_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_greater_equal_scalar ::-                      forall args . Fullfilled "_greater_equal_scalar(ndarray)" args =>-                        ArgsHMap "_greater_equal_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_greater_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_equal_scalar_upd ::-                          forall args . Fullfilled "_greater_equal_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_greater_equal_scalar(ndarray)" args -> IO ()-_greater_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_lesser_scalar ::-               forall args . Fullfilled "_lesser_scalar(ndarray)" args =>-                 ArgsHMap "_lesser_scalar(ndarray)" args -> IO [NDArrayHandle]-_lesser_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_scalar_upd ::-                   forall args . Fullfilled "_lesser_scalar(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_lesser_scalar(ndarray)" args -> IO ()-_lesser_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_lesser_equal_scalar ::-                     forall args . Fullfilled "_lesser_equal_scalar(ndarray)" args =>-                       ArgsHMap "_lesser_equal_scalar(ndarray)" args -> IO [NDArrayHandle]-_lesser_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_equal_scalar_upd ::-                         forall args . Fullfilled "_lesser_equal_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_lesser_equal_scalar(ndarray)" args -> IO ()-_lesser_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_and_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_logical_and_scalar ::-                    forall args . Fullfilled "_logical_and_scalar(ndarray)" args =>-                      ArgsHMap "_logical_and_scalar(ndarray)" args -> IO [NDArrayHandle]-_logical_and_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_and_scalar_upd ::-                        forall args . Fullfilled "_logical_and_scalar(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_logical_and_scalar(ndarray)" args -> IO ()-_logical_and_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_or_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_logical_or_scalar ::-                   forall args . Fullfilled "_logical_or_scalar(ndarray)" args =>-                     ArgsHMap "_logical_or_scalar(ndarray)" args -> IO [NDArrayHandle]-_logical_or_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_or_scalar_upd ::-                       forall args . Fullfilled "_logical_or_scalar(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_logical_or_scalar(ndarray)" args -> IO ()-_logical_or_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_xor_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_logical_xor_scalar ::-                    forall args . Fullfilled "_logical_xor_scalar(ndarray)" args =>-                      ArgsHMap "_logical_xor_scalar(ndarray)" args -> IO [NDArrayHandle]-_logical_xor_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_xor_scalar_upd ::-                        forall args . Fullfilled "_logical_xor_scalar(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_logical_xor_scalar(ndarray)" args -> IO ()-_logical_xor_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "relu(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--relu ::-     forall args . Fullfilled "relu(ndarray)" args =>-       ArgsHMap "relu(ndarray)" args -> IO [NDArrayHandle]-relu args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--relu_upd ::-         forall args . Fullfilled "relu(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "relu(ndarray)" args -> IO ()-relu_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_relu(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_relu ::-               forall args . Fullfilled "_backward_relu(ndarray)" args =>-                 ArgsHMap "_backward_relu(ndarray)" args -> IO [NDArrayHandle]-_backward_relu args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_relu_upd ::-                   forall args . Fullfilled "_backward_relu(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_relu(ndarray)" args -> IO ()-_backward_relu_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sigmoid(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sigmoid ::-        forall args . Fullfilled "sigmoid(ndarray)" args =>-          ArgsHMap "sigmoid(ndarray)" args -> IO [NDArrayHandle]-sigmoid args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sigmoid_upd ::-            forall args . Fullfilled "sigmoid(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "sigmoid(ndarray)" args -> IO ()-sigmoid_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sigmoid(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sigmoid ::-                  forall args . Fullfilled "_backward_sigmoid(ndarray)" args =>-                    ArgsHMap "_backward_sigmoid(ndarray)" args -> IO [NDArrayHandle]-_backward_sigmoid args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sigmoid_upd ::-                      forall args . Fullfilled "_backward_sigmoid(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_sigmoid(ndarray)" args -> IO ()-_backward_sigmoid_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "hard_sigmoid(ndarray)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--hard_sigmoid ::-             forall args . Fullfilled "hard_sigmoid(ndarray)" args =>-               ArgsHMap "hard_sigmoid(ndarray)" args -> IO [NDArrayHandle]-hard_sigmoid args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "hard_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--hard_sigmoid_upd ::-                 forall args . Fullfilled "hard_sigmoid(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "hard_sigmoid(ndarray)" args -> IO ()-hard_sigmoid_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "hard_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_hard_sigmoid(ndarray)" = '[]--_backward_hard_sigmoid ::-                       forall args . Fullfilled "_backward_hard_sigmoid(ndarray)" args =>-                         ArgsHMap "_backward_hard_sigmoid(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_hard_sigmoid args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hard_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_hard_sigmoid_upd ::-                           forall args . Fullfilled "_backward_hard_sigmoid(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_hard_sigmoid(ndarray)" args -> IO ()-_backward_hard_sigmoid_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hard_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "softsign(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--softsign ::-         forall args . Fullfilled "softsign(ndarray)" args =>-           ArgsHMap "softsign(ndarray)" args -> IO [NDArrayHandle]-softsign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softsign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--softsign_upd ::-             forall args . Fullfilled "softsign(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "softsign(ndarray)" args -> IO ()-softsign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softsign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_softsign(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_softsign ::-                   forall args . Fullfilled "_backward_softsign(ndarray)" args =>-                     ArgsHMap "_backward_softsign(ndarray)" args -> IO [NDArrayHandle]-_backward_softsign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softsign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_softsign_upd ::-                       forall args . Fullfilled "_backward_softsign(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_softsign(ndarray)" args -> IO ()-_backward_softsign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softsign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_copy(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_copy ::-      forall args . Fullfilled "_copy(ndarray)" args =>-        ArgsHMap "_copy(ndarray)" args -> IO [NDArrayHandle]-_copy args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_copy_upd ::-          forall args . Fullfilled "_copy(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_copy(ndarray)" args -> IO ()-_copy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_copy(ndarray)" = '[]--_backward_copy ::-               forall args . Fullfilled "_backward_copy(ndarray)" args =>-                 ArgsHMap "_backward_copy(ndarray)" args -> IO [NDArrayHandle]-_backward_copy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_copy_upd ::-                   forall args . Fullfilled "_backward_copy(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_copy(ndarray)" args -> IO ()-_backward_copy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BlockGrad(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_BlockGrad ::-           forall args . Fullfilled "_BlockGrad(ndarray)" args =>-             ArgsHMap "_BlockGrad(ndarray)" args -> IO [NDArrayHandle]-_BlockGrad args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BlockGrad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BlockGrad_upd ::-               forall args . Fullfilled "_BlockGrad(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_BlockGrad(ndarray)" args -> IO ()-_BlockGrad_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BlockGrad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "make_loss(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--make_loss ::-          forall args . Fullfilled "make_loss(ndarray)" args =>-            ArgsHMap "make_loss(ndarray)" args -> IO [NDArrayHandle]-make_loss args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "make_loss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--make_loss_upd ::-              forall args . Fullfilled "make_loss(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "make_loss(ndarray)" args -> IO ()-make_loss_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "make_loss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_identity_with_attr_like_rhs(ndarray)"-     =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_identity_with_attr_like_rhs ::-                             forall args .-                               Fullfilled "_identity_with_attr_like_rhs(ndarray)" args =>-                               ArgsHMap "_identity_with_attr_like_rhs(ndarray)" args ->-                                 IO [NDArrayHandle]-_identity_with_attr_like_rhs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_identity_with_attr_like_rhs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_identity_with_attr_like_rhs_upd ::-                                 forall args .-                                   Fullfilled "_identity_with_attr_like_rhs(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_identity_with_attr_like_rhs(ndarray)" args -> IO ()-_identity_with_attr_like_rhs_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_identity_with_attr_like_rhs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "reshape_like(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--reshape_like ::-             forall args . Fullfilled "reshape_like(ndarray)" args =>-               ArgsHMap "reshape_like(ndarray)" args -> IO [NDArrayHandle]-reshape_like args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reshape_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--reshape_like_upd ::-                 forall args . Fullfilled "reshape_like(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "reshape_like(ndarray)" args -> IO ()-reshape_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reshape_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "shape_array(ndarray)" =-     '[ '("lhs_begin", AttrOpt (Maybe Int)),-        '("lhs_end", AttrOpt (Maybe Int)),-        '("rhs_begin", AttrOpt (Maybe Int)),-        '("rhs_end", AttrOpt (Maybe Int)),-        '("data", AttrOpt NDArrayHandle)]--shape_array ::-            forall args . Fullfilled "shape_array(ndarray)" args =>-              ArgsHMap "shape_array(ndarray)" args -> IO [NDArrayHandle]-shape_array args-  = let scalarArgs-          = catMaybes-              [("lhs_begin",) . showValue <$>-                 (args !? #lhs_begin :: Maybe (Maybe Int)),-               ("lhs_end",) . showValue <$>-                 (args !? #lhs_end :: Maybe (Maybe Int)),-               ("rhs_begin",) . showValue <$>-                 (args !? #rhs_begin :: Maybe (Maybe Int)),-               ("rhs_end",) . showValue <$>-                 (args !? #rhs_end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "shape_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--shape_array_upd ::-                forall args . Fullfilled "shape_array(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "shape_array(ndarray)" args -> IO ()-shape_array_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lhs_begin",) . showValue <$>-                 (args !? #lhs_begin :: Maybe (Maybe Int)),-               ("lhs_end",) . showValue <$>-                 (args !? #lhs_end :: Maybe (Maybe Int)),-               ("rhs_begin",) . showValue <$>-                 (args !? #rhs_begin :: Maybe (Maybe Int)),-               ("rhs_end",) . showValue <$>-                 (args !? #rhs_end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "shape_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "size_array(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--size_array ::-           forall args . Fullfilled "size_array(ndarray)" args =>-             ArgsHMap "size_array(ndarray)" args -> IO [NDArrayHandle]-size_array args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "size_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--size_array_upd ::-               forall args . Fullfilled "size_array(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "size_array(ndarray)" args -> IO ()-size_array_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "size_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Cast(ndarray)" =-     '[ '("dtype",-          AttrReq-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--_Cast ::-      forall args . Fullfilled "_Cast(ndarray)" args =>-        ArgsHMap "_Cast(ndarray)" args -> IO [NDArrayHandle]-_Cast args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Cast_upd ::-          forall args . Fullfilled "_Cast(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_Cast(ndarray)" args -> IO ()-_Cast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cast(ndarray)" = '[]--_backward_cast ::-               forall args . Fullfilled "_backward_cast(ndarray)" args =>-                 ArgsHMap "_backward_cast(ndarray)" args -> IO [NDArrayHandle]-_backward_cast args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cast_upd ::-                   forall args . Fullfilled "_backward_cast(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cast(ndarray)" args -> IO ()-_backward_cast_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "negative(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--negative ::-         forall args . Fullfilled "negative(ndarray)" args =>-           ArgsHMap "negative(ndarray)" args -> IO [NDArrayHandle]-negative args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "negative"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--negative_upd ::-             forall args . Fullfilled "negative(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "negative(ndarray)" args -> IO ()-negative_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "negative"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "reciprocal(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--reciprocal ::-           forall args . Fullfilled "reciprocal(ndarray)" args =>-             ArgsHMap "reciprocal(ndarray)" args -> IO [NDArrayHandle]-reciprocal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--reciprocal_upd ::-               forall args . Fullfilled "reciprocal(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "reciprocal(ndarray)" args -> IO ()-reciprocal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_reciprocal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_reciprocal ::-                     forall args . Fullfilled "_backward_reciprocal(ndarray)" args =>-                       ArgsHMap "_backward_reciprocal(ndarray)" args -> IO [NDArrayHandle]-_backward_reciprocal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_reciprocal_upd ::-                         forall args . Fullfilled "_backward_reciprocal(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_reciprocal(ndarray)" args -> IO ()-_backward_reciprocal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "abs(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--abs ::-    forall args . Fullfilled "abs(ndarray)" args =>-      ArgsHMap "abs(ndarray)" args -> IO [NDArrayHandle]-abs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--abs_upd ::-        forall args . Fullfilled "abs(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "abs(ndarray)" args -> IO ()-abs_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_abs(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_abs ::-              forall args . Fullfilled "_backward_abs(ndarray)" args =>-                ArgsHMap "_backward_abs(ndarray)" args -> IO [NDArrayHandle]-_backward_abs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_abs_upd ::-                  forall args . Fullfilled "_backward_abs(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_abs(ndarray)" args -> IO ()-_backward_abs_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sign(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sign ::-     forall args . Fullfilled "sign(ndarray)" args =>-       ArgsHMap "sign(ndarray)" args -> IO [NDArrayHandle]-sign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sign_upd ::-         forall args . Fullfilled "sign(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sign(ndarray)" args -> IO ()-sign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sign(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sign ::-               forall args . Fullfilled "_backward_sign(ndarray)" args =>-                 ArgsHMap "_backward_sign(ndarray)" args -> IO [NDArrayHandle]-_backward_sign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sign_upd ::-                   forall args . Fullfilled "_backward_sign(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_sign(ndarray)" args -> IO ()-_backward_sign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "round(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--round ::-      forall args . Fullfilled "round(ndarray)" args =>-        ArgsHMap "round(ndarray)" args -> IO [NDArrayHandle]-round args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "round"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--round_upd ::-          forall args . Fullfilled "round(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "round(ndarray)" args -> IO ()-round_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "round"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rint(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--rint ::-     forall args . Fullfilled "rint(ndarray)" args =>-       ArgsHMap "rint(ndarray)" args -> IO [NDArrayHandle]-rint args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rint"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rint_upd ::-         forall args . Fullfilled "rint(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "rint(ndarray)" args -> IO ()-rint_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rint"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ceil(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--ceil ::-     forall args . Fullfilled "ceil(ndarray)" args =>-       ArgsHMap "ceil(ndarray)" args -> IO [NDArrayHandle]-ceil args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ceil"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ceil_upd ::-         forall args . Fullfilled "ceil(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "ceil(ndarray)" args -> IO ()-ceil_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ceil"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "floor(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--floor ::-      forall args . Fullfilled "floor(ndarray)" args =>-        ArgsHMap "floor(ndarray)" args -> IO [NDArrayHandle]-floor args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "floor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--floor_upd ::-          forall args . Fullfilled "floor(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "floor(ndarray)" args -> IO ()-floor_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "floor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "trunc(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--trunc ::-      forall args . Fullfilled "trunc(ndarray)" args =>-        ArgsHMap "trunc(ndarray)" args -> IO [NDArrayHandle]-trunc args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "trunc"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--trunc_upd ::-          forall args . Fullfilled "trunc(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "trunc(ndarray)" args -> IO ()-trunc_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "trunc"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "fix(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--fix ::-    forall args . Fullfilled "fix(ndarray)" args =>-      ArgsHMap "fix(ndarray)" args -> IO [NDArrayHandle]-fix args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fix"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--fix_upd ::-        forall args . Fullfilled "fix(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "fix(ndarray)" args -> IO ()-fix_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fix"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "square(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--square ::-       forall args . Fullfilled "square(ndarray)" args =>-         ArgsHMap "square(ndarray)" args -> IO [NDArrayHandle]-square args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--square_upd ::-           forall args . Fullfilled "square(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "square(ndarray)" args -> IO ()-square_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_square(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_square ::-                 forall args . Fullfilled "_backward_square(ndarray)" args =>-                   ArgsHMap "_backward_square(ndarray)" args -> IO [NDArrayHandle]-_backward_square args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_square_upd ::-                     forall args . Fullfilled "_backward_square(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_square(ndarray)" args -> IO ()-_backward_square_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sqrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sqrt ::-     forall args . Fullfilled "sqrt(ndarray)" args =>-       ArgsHMap "sqrt(ndarray)" args -> IO [NDArrayHandle]-sqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sqrt_upd ::-         forall args . Fullfilled "sqrt(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sqrt(ndarray)" args -> IO ()-sqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sqrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sqrt ::-               forall args . Fullfilled "_backward_sqrt(ndarray)" args =>-                 ArgsHMap "_backward_sqrt(ndarray)" args -> IO [NDArrayHandle]-_backward_sqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sqrt_upd ::-                   forall args . Fullfilled "_backward_sqrt(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_sqrt(ndarray)" args -> IO ()-_backward_sqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rsqrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--rsqrt ::-      forall args . Fullfilled "rsqrt(ndarray)" args =>-        ArgsHMap "rsqrt(ndarray)" args -> IO [NDArrayHandle]-rsqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rsqrt_upd ::-          forall args . Fullfilled "rsqrt(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "rsqrt(ndarray)" args -> IO ()-rsqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rsqrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rsqrt ::-                forall args . Fullfilled "_backward_rsqrt(ndarray)" args =>-                  ArgsHMap "_backward_rsqrt(ndarray)" args -> IO [NDArrayHandle]-_backward_rsqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rsqrt_upd ::-                    forall args . Fullfilled "_backward_rsqrt(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_rsqrt(ndarray)" args -> IO ()-_backward_rsqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cbrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--cbrt ::-     forall args . Fullfilled "cbrt(ndarray)" args =>-       ArgsHMap "cbrt(ndarray)" args -> IO [NDArrayHandle]-cbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cbrt_upd ::-         forall args . Fullfilled "cbrt(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "cbrt(ndarray)" args -> IO ()-cbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cbrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_cbrt ::-               forall args . Fullfilled "_backward_cbrt(ndarray)" args =>-                 ArgsHMap "_backward_cbrt(ndarray)" args -> IO [NDArrayHandle]-_backward_cbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cbrt_upd ::-                   forall args . Fullfilled "_backward_cbrt(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cbrt(ndarray)" args -> IO ()-_backward_cbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rcbrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--rcbrt ::-      forall args . Fullfilled "rcbrt(ndarray)" args =>-        ArgsHMap "rcbrt(ndarray)" args -> IO [NDArrayHandle]-rcbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rcbrt_upd ::-          forall args . Fullfilled "rcbrt(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "rcbrt(ndarray)" args -> IO ()-rcbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rcbrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rcbrt ::-                forall args . Fullfilled "_backward_rcbrt(ndarray)" args =>-                  ArgsHMap "_backward_rcbrt(ndarray)" args -> IO [NDArrayHandle]-_backward_rcbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rcbrt_upd ::-                    forall args . Fullfilled "_backward_rcbrt(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_rcbrt(ndarray)" args -> IO ()-_backward_rcbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "exp(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--exp ::-    forall args . Fullfilled "exp(ndarray)" args =>-      ArgsHMap "exp(ndarray)" args -> IO [NDArrayHandle]-exp args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "exp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--exp_upd ::-        forall args . Fullfilled "exp(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "exp(ndarray)" args -> IO ()-exp_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "exp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log ::-    forall args . Fullfilled "log(ndarray)" args =>-      ArgsHMap "log(ndarray)" args -> IO [NDArrayHandle]-log args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log_upd ::-        forall args . Fullfilled "log(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "log(ndarray)" args -> IO ()-log_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log10(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log10 ::-      forall args . Fullfilled "log10(ndarray)" args =>-        ArgsHMap "log10(ndarray)" args -> IO [NDArrayHandle]-log10 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log10_upd ::-          forall args . Fullfilled "log10(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "log10(ndarray)" args -> IO ()-log10_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log2(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log2 ::-     forall args . Fullfilled "log2(ndarray)" args =>-       ArgsHMap "log2(ndarray)" args -> IO [NDArrayHandle]-log2 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log2_upd ::-         forall args . Fullfilled "log2(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "log2(ndarray)" args -> IO ()-log2_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log ::-              forall args . Fullfilled "_backward_log(ndarray)" args =>-                ArgsHMap "_backward_log(ndarray)" args -> IO [NDArrayHandle]-_backward_log args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log_upd ::-                  forall args . Fullfilled "_backward_log(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_log(ndarray)" args -> IO ()-_backward_log_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log10(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log10 ::-                forall args . Fullfilled "_backward_log10(ndarray)" args =>-                  ArgsHMap "_backward_log10(ndarray)" args -> IO [NDArrayHandle]-_backward_log10 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log10_upd ::-                    forall args . Fullfilled "_backward_log10(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_log10(ndarray)" args -> IO ()-_backward_log10_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log2(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log2 ::-               forall args . Fullfilled "_backward_log2(ndarray)" args =>-                 ArgsHMap "_backward_log2(ndarray)" args -> IO [NDArrayHandle]-_backward_log2 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log2_upd ::-                   forall args . Fullfilled "_backward_log2(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_log2(ndarray)" args -> IO ()-_backward_log2_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log1p(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log1p ::-      forall args . Fullfilled "log1p(ndarray)" args =>-        ArgsHMap "log1p(ndarray)" args -> IO [NDArrayHandle]-log1p args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log1p_upd ::-          forall args . Fullfilled "log1p(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "log1p(ndarray)" args -> IO ()-log1p_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log1p(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log1p ::-                forall args . Fullfilled "_backward_log1p(ndarray)" args =>-                  ArgsHMap "_backward_log1p(ndarray)" args -> IO [NDArrayHandle]-_backward_log1p args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log1p_upd ::-                    forall args . Fullfilled "_backward_log1p(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_log1p(ndarray)" args -> IO ()-_backward_log1p_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "expm1(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--expm1 ::-      forall args . Fullfilled "expm1(ndarray)" args =>-        ArgsHMap "expm1(ndarray)" args -> IO [NDArrayHandle]-expm1 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--expm1_upd ::-          forall args . Fullfilled "expm1(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "expm1(ndarray)" args -> IO ()-expm1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_expm1(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_expm1 ::-                forall args . Fullfilled "_backward_expm1(ndarray)" args =>-                  ArgsHMap "_backward_expm1(ndarray)" args -> IO [NDArrayHandle]-_backward_expm1 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_expm1_upd ::-                    forall args . Fullfilled "_backward_expm1(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_expm1(ndarray)" args -> IO ()-_backward_expm1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "gamma(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--gamma ::-      forall args . Fullfilled "gamma(ndarray)" args =>-        ArgsHMap "gamma(ndarray)" args -> IO [NDArrayHandle]-gamma args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--gamma_upd ::-          forall args . Fullfilled "gamma(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "gamma(ndarray)" args -> IO ()-gamma_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_gamma(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_gamma ::-                forall args . Fullfilled "_backward_gamma(ndarray)" args =>-                  ArgsHMap "_backward_gamma(ndarray)" args -> IO [NDArrayHandle]-_backward_gamma args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_gamma_upd ::-                    forall args . Fullfilled "_backward_gamma(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_gamma(ndarray)" args -> IO ()-_backward_gamma_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "gammaln(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--gammaln ::-        forall args . Fullfilled "gammaln(ndarray)" args =>-          ArgsHMap "gammaln(ndarray)" args -> IO [NDArrayHandle]-gammaln args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--gammaln_upd ::-            forall args . Fullfilled "gammaln(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "gammaln(ndarray)" args -> IO ()-gammaln_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_gammaln(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_gammaln ::-                  forall args . Fullfilled "_backward_gammaln(ndarray)" args =>-                    ArgsHMap "_backward_gammaln(ndarray)" args -> IO [NDArrayHandle]-_backward_gammaln args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_gammaln_upd ::-                      forall args . Fullfilled "_backward_gammaln(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_gammaln(ndarray)" args -> IO ()-_backward_gammaln_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "logical_not(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--logical_not ::-            forall args . Fullfilled "logical_not(ndarray)" args =>-              ArgsHMap "logical_not(ndarray)" args -> IO [NDArrayHandle]-logical_not args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "logical_not"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--logical_not_upd ::-                forall args . Fullfilled "logical_not(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "logical_not(ndarray)" args -> IO ()-logical_not_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "logical_not"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sum(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--sum ::-    forall args . Fullfilled "sum(ndarray)" args =>-      ArgsHMap "sum(ndarray)" args -> IO [NDArrayHandle]-sum args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sum_upd ::-        forall args . Fullfilled "sum(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "sum(ndarray)" args -> IO ()-sum_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sum(ndarray)" = '[]--_backward_sum ::-              forall args . Fullfilled "_backward_sum(ndarray)" args =>-                ArgsHMap "_backward_sum(ndarray)" args -> IO [NDArrayHandle]-_backward_sum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sum_upd ::-                  forall args . Fullfilled "_backward_sum(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_sum(ndarray)" args -> IO ()-_backward_sum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "mean(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--mean ::-     forall args . Fullfilled "mean(ndarray)" args =>-       ArgsHMap "mean(ndarray)" args -> IO [NDArrayHandle]-mean args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--mean_upd ::-         forall args . Fullfilled "mean(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "mean(ndarray)" args -> IO ()-mean_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mean(ndarray)" = '[]--_backward_mean ::-               forall args . Fullfilled "_backward_mean(ndarray)" args =>-                 ArgsHMap "_backward_mean(ndarray)" args -> IO [NDArrayHandle]-_backward_mean args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mean_upd ::-                   forall args . Fullfilled "_backward_mean(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_mean(ndarray)" args -> IO ()-_backward_mean_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "prod(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--prod ::-     forall args . Fullfilled "prod(ndarray)" args =>-       ArgsHMap "prod(ndarray)" args -> IO [NDArrayHandle]-prod args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--prod_upd ::-         forall args . Fullfilled "prod(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "prod(ndarray)" args -> IO ()-prod_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_prod(ndarray)" = '[]--_backward_prod ::-               forall args . Fullfilled "_backward_prod(ndarray)" args =>-                 ArgsHMap "_backward_prod(ndarray)" args -> IO [NDArrayHandle]-_backward_prod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_prod_upd ::-                   forall args . Fullfilled "_backward_prod(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_prod(ndarray)" args -> IO ()-_backward_prod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "nansum(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--nansum ::-       forall args . Fullfilled "nansum(ndarray)" args =>-         ArgsHMap "nansum(ndarray)" args -> IO [NDArrayHandle]-nansum args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--nansum_upd ::-           forall args . Fullfilled "nansum(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "nansum(ndarray)" args -> IO ()-nansum_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_nansum(ndarray)" = '[]--_backward_nansum ::-                 forall args . Fullfilled "_backward_nansum(ndarray)" args =>-                   ArgsHMap "_backward_nansum(ndarray)" args -> IO [NDArrayHandle]-_backward_nansum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_nansum_upd ::-                     forall args . Fullfilled "_backward_nansum(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_nansum(ndarray)" args -> IO ()-_backward_nansum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "nanprod(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--nanprod ::-        forall args . Fullfilled "nanprod(ndarray)" args =>-          ArgsHMap "nanprod(ndarray)" args -> IO [NDArrayHandle]-nanprod args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--nanprod_upd ::-            forall args . Fullfilled "nanprod(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "nanprod(ndarray)" args -> IO ()-nanprod_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_nanprod(ndarray)" = '[]--_backward_nanprod ::-                  forall args . Fullfilled "_backward_nanprod(ndarray)" args =>-                    ArgsHMap "_backward_nanprod(ndarray)" args -> IO [NDArrayHandle]-_backward_nanprod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_nanprod_upd ::-                      forall args . Fullfilled "_backward_nanprod(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_nanprod(ndarray)" args -> IO ()-_backward_nanprod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "max(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--max ::-    forall args . Fullfilled "max(ndarray)" args =>-      ArgsHMap "max(ndarray)" args -> IO [NDArrayHandle]-max args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--max_upd ::-        forall args . Fullfilled "max(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "max(ndarray)" args -> IO ()-max_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_max(ndarray)" = '[]--_backward_max ::-              forall args . Fullfilled "_backward_max(ndarray)" args =>-                ArgsHMap "_backward_max(ndarray)" args -> IO [NDArrayHandle]-_backward_max args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_max_upd ::-                  forall args . Fullfilled "_backward_max(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_max(ndarray)" args -> IO ()-_backward_max_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "min(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--min ::-    forall args . Fullfilled "min(ndarray)" args =>-      ArgsHMap "min(ndarray)" args -> IO [NDArrayHandle]-min args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--min_upd ::-        forall args . Fullfilled "min(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "min(ndarray)" args -> IO ()-min_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_min(ndarray)" = '[]--_backward_min ::-              forall args . Fullfilled "_backward_min(ndarray)" args =>-                ArgsHMap "_backward_min(ndarray)" args -> IO [NDArrayHandle]-_backward_min args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_min_upd ::-                  forall args . Fullfilled "_backward_min(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_min(ndarray)" args -> IO ()-_backward_min_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_axis(ndarray)" =-     '[ '("axis", AttrOpt [Int]), '("size", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--broadcast_axis ::-               forall args . Fullfilled "broadcast_axis(ndarray)" args =>-                 ArgsHMap "broadcast_axis(ndarray)" args -> IO [NDArrayHandle]-broadcast_axis args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("size",) . showValue <$> (args !? #size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_axis_upd ::-                   forall args . Fullfilled "broadcast_axis(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "broadcast_axis(ndarray)" args -> IO ()-broadcast_axis_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("size",) . showValue <$> (args !? #size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_to(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--broadcast_to ::-             forall args . Fullfilled "broadcast_to(ndarray)" args =>-               ArgsHMap "broadcast_to(ndarray)" args -> IO [NDArrayHandle]-broadcast_to args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_to"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_to_upd ::-                 forall args . Fullfilled "broadcast_to(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "broadcast_to(ndarray)" args -> IO ()-broadcast_to_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_to"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_broadcast_backward(ndarray)" = '[]--_broadcast_backward ::-                    forall args . Fullfilled "_broadcast_backward(ndarray)" args =>-                      ArgsHMap "_broadcast_backward(ndarray)" args -> IO [NDArrayHandle]-_broadcast_backward args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_broadcast_backward"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_broadcast_backward_upd ::-                        forall args . Fullfilled "_broadcast_backward(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_broadcast_backward(ndarray)" args -> IO ()-_broadcast_backward_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_broadcast_backward"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_like(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_like ::-               forall args . Fullfilled "broadcast_like(ndarray)" args =>-                 ArgsHMap "broadcast_like(ndarray)" args -> IO [NDArrayHandle]-broadcast_like args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_like_upd ::-                   forall args . Fullfilled "broadcast_like(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "broadcast_like(ndarray)" args -> IO ()-broadcast_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "norm(ndarray)" =-     '[ '("ord", AttrOpt Int), '("axis", AttrOpt (Maybe [Int])),-        '("keepdims", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--norm ::-     forall args . Fullfilled "norm(ndarray)" args =>-       ArgsHMap "norm(ndarray)" args -> IO [NDArrayHandle]-norm args-  = let scalarArgs-          = catMaybes-              [("ord",) . showValue <$> (args !? #ord :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--norm_upd ::-         forall args . Fullfilled "norm(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "norm(ndarray)" args -> IO ()-norm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("ord",) . showValue <$> (args !? #ord :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_norm(ndarray)" = '[]--_backward_norm ::-               forall args . Fullfilled "_backward_norm(ndarray)" args =>-                 ArgsHMap "_backward_norm(ndarray)" args -> IO [NDArrayHandle]-_backward_norm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_norm_upd ::-                   forall args . Fullfilled "_backward_norm(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_norm(ndarray)" args -> IO ()-_backward_norm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_add(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_add ::-             forall args . Fullfilled "elemwise_add(ndarray)" args =>-               ArgsHMap "elemwise_add(ndarray)" args -> IO [NDArrayHandle]-elemwise_add args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_add_upd ::-                 forall args . Fullfilled "elemwise_add(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_add(ndarray)" args -> IO ()-elemwise_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_grad_add(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_grad_add ::-          forall args . Fullfilled "_grad_add(ndarray)" args =>-            ArgsHMap "_grad_add(ndarray)" args -> IO [NDArrayHandle]-_grad_add args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_grad_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_grad_add_upd ::-              forall args . Fullfilled "_grad_add(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_grad_add(ndarray)" args -> IO ()-_grad_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_grad_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_add(ndarray)" = '[]--_backward_add ::-              forall args . Fullfilled "_backward_add(ndarray)" args =>-                ArgsHMap "_backward_add(ndarray)" args -> IO [NDArrayHandle]-_backward_add args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_add_upd ::-                  forall args . Fullfilled "_backward_add(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_add(ndarray)" args -> IO ()-_backward_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_sub(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_sub ::-             forall args . Fullfilled "elemwise_sub(ndarray)" args =>-               ArgsHMap "elemwise_sub(ndarray)" args -> IO [NDArrayHandle]-elemwise_sub args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_sub_upd ::-                 forall args . Fullfilled "elemwise_sub(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_sub(ndarray)" args -> IO ()-elemwise_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sub(ndarray)" = '[]--_backward_sub ::-              forall args . Fullfilled "_backward_sub(ndarray)" args =>-                ArgsHMap "_backward_sub(ndarray)" args -> IO [NDArrayHandle]-_backward_sub args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sub_upd ::-                  forall args . Fullfilled "_backward_sub(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_sub(ndarray)" args -> IO ()-_backward_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_mul(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_mul ::-             forall args . Fullfilled "elemwise_mul(ndarray)" args =>-               ArgsHMap "elemwise_mul(ndarray)" args -> IO [NDArrayHandle]-elemwise_mul args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_mul_upd ::-                 forall args . Fullfilled "elemwise_mul(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_mul(ndarray)" args -> IO ()-elemwise_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mul(ndarray)" = '[]--_backward_mul ::-              forall args . Fullfilled "_backward_mul(ndarray)" args =>-                ArgsHMap "_backward_mul(ndarray)" args -> IO [NDArrayHandle]-_backward_mul args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mul_upd ::-                  forall args . Fullfilled "_backward_mul(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_mul(ndarray)" args -> IO ()-_backward_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_div(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_div ::-             forall args . Fullfilled "elemwise_div(ndarray)" args =>-               ArgsHMap "elemwise_div(ndarray)" args -> IO [NDArrayHandle]-elemwise_div args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_div_upd ::-                 forall args . Fullfilled "elemwise_div(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_div(ndarray)" args -> IO ()-elemwise_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_div(ndarray)" = '[]--_backward_div ::-              forall args . Fullfilled "_backward_div(ndarray)" args =>-                ArgsHMap "_backward_div(ndarray)" args -> IO [NDArrayHandle]-_backward_div args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_div_upd ::-                  forall args . Fullfilled "_backward_div(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_div(ndarray)" args -> IO ()-_backward_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_mod(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_mod ::-     forall args . Fullfilled "_mod(ndarray)" args =>-       ArgsHMap "_mod(ndarray)" args -> IO [NDArrayHandle]-_mod args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_mod_upd ::-         forall args . Fullfilled "_mod(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_mod(ndarray)" args -> IO ()-_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mod(ndarray)" = '[]--_backward_mod ::-              forall args . Fullfilled "_backward_mod(ndarray)" args =>-                ArgsHMap "_backward_mod(ndarray)" args -> IO [NDArrayHandle]-_backward_mod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mod_upd ::-                  forall args . Fullfilled "_backward_mod(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_mod(ndarray)" args -> IO ()-_backward_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_elemwise_div(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_scatter_elemwise_div ::-                      forall args . Fullfilled "_scatter_elemwise_div(ndarray)" args =>-                        ArgsHMap "_scatter_elemwise_div(ndarray)" args ->-                          IO [NDArrayHandle]-_scatter_elemwise_div args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_elemwise_div_upd ::-                          forall args . Fullfilled "_scatter_elemwise_div(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_scatter_elemwise_div(ndarray)" args -> IO ()-_scatter_elemwise_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_plus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_scatter_plus_scalar ::-                     forall args . Fullfilled "_scatter_plus_scalar(ndarray)" args =>-                       ArgsHMap "_scatter_plus_scalar(ndarray)" args -> IO [NDArrayHandle]-_scatter_plus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_plus_scalar_upd ::-                         forall args . Fullfilled "_scatter_plus_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_scatter_plus_scalar(ndarray)" args -> IO ()-_scatter_plus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_minus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_scatter_minus_scalar ::-                      forall args . Fullfilled "_scatter_minus_scalar(ndarray)" args =>-                        ArgsHMap "_scatter_minus_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_scatter_minus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_minus_scalar_upd ::-                          forall args . Fullfilled "_scatter_minus_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_scatter_minus_scalar(ndarray)" args -> IO ()-_scatter_minus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Embedding(ndarray)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle)]--_Embedding ::-           forall args . Fullfilled "_Embedding(ndarray)" args =>-             ArgsHMap "_Embedding(ndarray)" args -> IO [NDArrayHandle]-_Embedding args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Embedding_upd ::-               forall args . Fullfilled "_Embedding(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_Embedding(ndarray)" args -> IO ()-_Embedding_upd outputs args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_SparseEmbedding(ndarray)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle)]--_contrib_SparseEmbedding ::-                         forall args .-                           Fullfilled "_contrib_SparseEmbedding(ndarray)" args =>-                           ArgsHMap "_contrib_SparseEmbedding(ndarray)" args ->-                             IO [NDArrayHandle]-_contrib_SparseEmbedding args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_SparseEmbedding_upd ::-                             forall args .-                               Fullfilled "_contrib_SparseEmbedding(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_contrib_SparseEmbedding(ndarray)" args -> IO ()-_contrib_SparseEmbedding_upd outputs args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Embedding(ndarray)" = '[]--_backward_Embedding ::-                    forall args . Fullfilled "_backward_Embedding(ndarray)" args =>-                      ArgsHMap "_backward_Embedding(ndarray)" args -> IO [NDArrayHandle]-_backward_Embedding args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Embedding_upd ::-                        forall args . Fullfilled "_backward_Embedding(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_Embedding(ndarray)" args -> IO ()-_backward_Embedding_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SparseEmbedding(ndarray)" =-     '[]--_backward_SparseEmbedding ::-                          forall args .-                            Fullfilled "_backward_SparseEmbedding(ndarray)" args =>-                            ArgsHMap "_backward_SparseEmbedding(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_SparseEmbedding args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SparseEmbedding_upd ::-                              forall args .-                                Fullfilled "_backward_SparseEmbedding(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_SparseEmbedding(ndarray)" args -> IO ()-_backward_SparseEmbedding_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "take(ndarray)" =-     '[ '("axis", AttrOpt Int),-        '("mode", AttrOpt (EnumType '["clip", "raise", "wrap"])),-        '("a", AttrOpt NDArrayHandle), '("indices", AttrOpt NDArrayHandle)]--take ::-     forall args . Fullfilled "take(ndarray)" args =>-       ArgsHMap "take(ndarray)" args -> IO [NDArrayHandle]-take args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "raise", "wrap"]))]-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--take_upd ::-         forall args . Fullfilled "take(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "take(ndarray)" args -> IO ()-take_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "raise", "wrap"]))]-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_take(ndarray)" = '[]--_backward_take ::-               forall args . Fullfilled "_backward_take(ndarray)" args =>-                 ArgsHMap "_backward_take(ndarray)" args -> IO [NDArrayHandle]-_backward_take args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_take_upd ::-                   forall args . Fullfilled "_backward_take(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_take(ndarray)" args -> IO ()-_backward_take_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "batch_take(ndarray)" =-     '[ '("a", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--batch_take ::-           forall args . Fullfilled "batch_take(ndarray)" args =>-             ArgsHMap "batch_take(ndarray)" args -> IO [NDArrayHandle]-batch_take args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--batch_take_upd ::-               forall args . Fullfilled "batch_take(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "batch_take(ndarray)" args -> IO ()-batch_take_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "one_hot(ndarray)" =-     '[ '("depth", AttrReq Int), '("on_value", AttrOpt Double),-        '("off_value", AttrOpt Double),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("indices", AttrOpt NDArrayHandle)]--one_hot ::-        forall args . Fullfilled "one_hot(ndarray)" args =>-          ArgsHMap "one_hot(ndarray)" args -> IO [NDArrayHandle]-one_hot args-  = let scalarArgs-          = catMaybes-              [("depth",) . showValue <$> (args !? #depth :: Maybe Int),-               ("on_value",) . showValue <$> (args !? #on_value :: Maybe Double),-               ("off_value",) . showValue <$>-                 (args !? #off_value :: Maybe Double),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes-              [("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "one_hot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--one_hot_upd ::-            forall args . Fullfilled "one_hot(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "one_hot(ndarray)" args -> IO ()-one_hot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("depth",) . showValue <$> (args !? #depth :: Maybe Int),-               ("on_value",) . showValue <$> (args !? #on_value :: Maybe Double),-               ("off_value",) . showValue <$>-                 (args !? #off_value :: Maybe Double),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes-              [("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "one_hot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "gather_nd(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--gather_nd ::-          forall args . Fullfilled "gather_nd(ndarray)" args =>-            ArgsHMap "gather_nd(ndarray)" args -> IO [NDArrayHandle]-gather_nd args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--gather_nd_upd ::-              forall args . Fullfilled "gather_nd(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "gather_nd(ndarray)" args -> IO ()-gather_nd_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "scatter_nd(ndarray)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--scatter_nd ::-           forall args . Fullfilled "scatter_nd(ndarray)" args =>-             ArgsHMap "scatter_nd(ndarray)" args -> IO [NDArrayHandle]-scatter_nd args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "scatter_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--scatter_nd_upd ::-               forall args . Fullfilled "scatter_nd(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "scatter_nd(ndarray)" args -> IO ()-scatter_nd_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "scatter_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_gather_nd(ndarray)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--_backward_gather_nd ::-                    forall args . Fullfilled "_backward_gather_nd(ndarray)" args =>-                      ArgsHMap "_backward_gather_nd(ndarray)" args -> IO [NDArrayHandle]-_backward_gather_nd args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_gather_nd_upd ::-                        forall args . Fullfilled "_backward_gather_nd(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_gather_nd(ndarray)" args -> IO ()-_backward_gather_nd_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_set_nd(ndarray)" =-     '[ '("shape", AttrReq [Int]), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--_scatter_set_nd ::-                forall args . Fullfilled "_scatter_set_nd(ndarray)" args =>-                  ArgsHMap "_scatter_set_nd(ndarray)" args -> IO [NDArrayHandle]-_scatter_set_nd args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_set_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_set_nd_upd ::-                    forall args . Fullfilled "_scatter_set_nd(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_scatter_set_nd(ndarray)" args -> IO ()-_scatter_set_nd_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_set_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_equal ::-                forall args . Fullfilled "broadcast_equal(ndarray)" args =>-                  ArgsHMap "broadcast_equal(ndarray)" args -> IO [NDArrayHandle]-broadcast_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_equal_upd ::-                    forall args . Fullfilled "broadcast_equal(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "broadcast_equal(ndarray)" args -> IO ()-broadcast_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_not_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_not_equal ::-                    forall args . Fullfilled "broadcast_not_equal(ndarray)" args =>-                      ArgsHMap "broadcast_not_equal(ndarray)" args -> IO [NDArrayHandle]-broadcast_not_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_not_equal_upd ::-                        forall args . Fullfilled "broadcast_not_equal(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "broadcast_not_equal(ndarray)" args -> IO ()-broadcast_not_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_greater(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_greater ::-                  forall args . Fullfilled "broadcast_greater(ndarray)" args =>-                    ArgsHMap "broadcast_greater(ndarray)" args -> IO [NDArrayHandle]-broadcast_greater args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_greater_upd ::-                      forall args . Fullfilled "broadcast_greater(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "broadcast_greater(ndarray)" args -> IO ()-broadcast_greater_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_greater_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_greater_equal ::-                        forall args . Fullfilled "broadcast_greater_equal(ndarray)" args =>-                          ArgsHMap "broadcast_greater_equal(ndarray)" args ->-                            IO [NDArrayHandle]-broadcast_greater_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_greater_equal_upd ::-                            forall args . Fullfilled "broadcast_greater_equal(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "broadcast_greater_equal(ndarray)" args -> IO ()-broadcast_greater_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_lesser(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_lesser ::-                 forall args . Fullfilled "broadcast_lesser(ndarray)" args =>-                   ArgsHMap "broadcast_lesser(ndarray)" args -> IO [NDArrayHandle]-broadcast_lesser args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_lesser_upd ::-                     forall args . Fullfilled "broadcast_lesser(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "broadcast_lesser(ndarray)" args -> IO ()-broadcast_lesser_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_lesser_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_lesser_equal ::-                       forall args . Fullfilled "broadcast_lesser_equal(ndarray)" args =>-                         ArgsHMap "broadcast_lesser_equal(ndarray)" args ->-                           IO [NDArrayHandle]-broadcast_lesser_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_lesser_equal_upd ::-                           forall args . Fullfilled "broadcast_lesser_equal(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "broadcast_lesser_equal(ndarray)" args -> IO ()-broadcast_lesser_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_logical_and(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_logical_and ::-                      forall args . Fullfilled "broadcast_logical_and(ndarray)" args =>-                        ArgsHMap "broadcast_logical_and(ndarray)" args ->-                          IO [NDArrayHandle]-broadcast_logical_and args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_and"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_logical_and_upd ::-                          forall args . Fullfilled "broadcast_logical_and(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "broadcast_logical_and(ndarray)" args -> IO ()-broadcast_logical_and_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_and"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_logical_or(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_logical_or ::-                     forall args . Fullfilled "broadcast_logical_or(ndarray)" args =>-                       ArgsHMap "broadcast_logical_or(ndarray)" args -> IO [NDArrayHandle]-broadcast_logical_or args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_or"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_logical_or_upd ::-                         forall args . Fullfilled "broadcast_logical_or(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "broadcast_logical_or(ndarray)" args -> IO ()-broadcast_logical_or_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_or"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_logical_xor(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_logical_xor ::-                      forall args . Fullfilled "broadcast_logical_xor(ndarray)" args =>-                        ArgsHMap "broadcast_logical_xor(ndarray)" args ->-                          IO [NDArrayHandle]-broadcast_logical_xor args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_xor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_logical_xor_upd ::-                          forall args . Fullfilled "broadcast_logical_xor(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "broadcast_logical_xor(ndarray)" args -> IO ()-broadcast_logical_xor_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_xor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_plus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_plus_scalar ::-             forall args . Fullfilled "_plus_scalar(ndarray)" args =>-               ArgsHMap "_plus_scalar(ndarray)" args -> IO [NDArrayHandle]-_plus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_plus_scalar_upd ::-                 forall args . Fullfilled "_plus_scalar(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_plus_scalar(ndarray)" args -> IO ()-_plus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_minus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_minus_scalar ::-              forall args . Fullfilled "_minus_scalar(ndarray)" args =>-                ArgsHMap "_minus_scalar(ndarray)" args -> IO [NDArrayHandle]-_minus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_minus_scalar_upd ::-                  forall args . Fullfilled "_minus_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_minus_scalar(ndarray)" args -> IO ()-_minus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rminus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rminus_scalar ::-               forall args . Fullfilled "_rminus_scalar(ndarray)" args =>-                 ArgsHMap "_rminus_scalar(ndarray)" args -> IO [NDArrayHandle]-_rminus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rminus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rminus_scalar_upd ::-                   forall args . Fullfilled "_rminus_scalar(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_rminus_scalar(ndarray)" args -> IO ()-_rminus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rminus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_mul_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_mul_scalar ::-            forall args . Fullfilled "_mul_scalar(ndarray)" args =>-              ArgsHMap "_mul_scalar(ndarray)" args -> IO [NDArrayHandle]-_mul_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_mul_scalar_upd ::-                forall args . Fullfilled "_mul_scalar(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_mul_scalar(ndarray)" args -> IO ()-_mul_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mul_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_backward_mul_scalar ::-                     forall args . Fullfilled "_backward_mul_scalar(ndarray)" args =>-                       ArgsHMap "_backward_mul_scalar(ndarray)" args -> IO [NDArrayHandle]-_backward_mul_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mul_scalar_upd ::-                         forall args . Fullfilled "_backward_mul_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_mul_scalar(ndarray)" args -> IO ()-_backward_mul_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_div_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_div_scalar ::-            forall args . Fullfilled "_div_scalar(ndarray)" args =>-              ArgsHMap "_div_scalar(ndarray)" args -> IO [NDArrayHandle]-_div_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_div_scalar_upd ::-                forall args . Fullfilled "_div_scalar(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_div_scalar(ndarray)" args -> IO ()-_div_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_div_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_backward_div_scalar ::-                     forall args . Fullfilled "_backward_div_scalar(ndarray)" args =>-                       ArgsHMap "_backward_div_scalar(ndarray)" args -> IO [NDArrayHandle]-_backward_div_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_div_scalar_upd ::-                         forall args . Fullfilled "_backward_div_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_div_scalar(ndarray)" args -> IO ()-_backward_div_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rdiv_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rdiv_scalar ::-             forall args . Fullfilled "_rdiv_scalar(ndarray)" args =>-               ArgsHMap "_rdiv_scalar(ndarray)" args -> IO [NDArrayHandle]-_rdiv_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rdiv_scalar_upd ::-                 forall args . Fullfilled "_rdiv_scalar(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_rdiv_scalar(ndarray)" args -> IO ()-_rdiv_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rdiv_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rdiv_scalar ::-                      forall args . Fullfilled "_backward_rdiv_scalar(ndarray)" args =>-                        ArgsHMap "_backward_rdiv_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_rdiv_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rdiv_scalar_upd ::-                          forall args . Fullfilled "_backward_rdiv_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_rdiv_scalar(ndarray)" args -> IO ()-_backward_rdiv_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_mod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_mod_scalar ::-            forall args . Fullfilled "_mod_scalar(ndarray)" args =>-              ArgsHMap "_mod_scalar(ndarray)" args -> IO [NDArrayHandle]-_mod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_mod_scalar_upd ::-                forall args . Fullfilled "_mod_scalar(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_mod_scalar(ndarray)" args -> IO ()-_mod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_mod_scalar ::-                     forall args . Fullfilled "_backward_mod_scalar(ndarray)" args =>-                       ArgsHMap "_backward_mod_scalar(ndarray)" args -> IO [NDArrayHandle]-_backward_mod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mod_scalar_upd ::-                         forall args . Fullfilled "_backward_mod_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_mod_scalar(ndarray)" args -> IO ()-_backward_mod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rmod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rmod_scalar ::-             forall args . Fullfilled "_rmod_scalar(ndarray)" args =>-               ArgsHMap "_rmod_scalar(ndarray)" args -> IO [NDArrayHandle]-_rmod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rmod_scalar_upd ::-                 forall args . Fullfilled "_rmod_scalar(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_rmod_scalar(ndarray)" args -> IO ()-_rmod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rmod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rmod_scalar ::-                      forall args . Fullfilled "_backward_rmod_scalar(ndarray)" args =>-                        ArgsHMap "_backward_rmod_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_rmod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rmod_scalar_upd ::-                          forall args . Fullfilled "_backward_rmod_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_rmod_scalar(ndarray)" args -> IO ()-_backward_rmod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_ravel_multi_index(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--_ravel_multi_index ::-                   forall args . Fullfilled "_ravel_multi_index(ndarray)" args =>-                     ArgsHMap "_ravel_multi_index(ndarray)" args -> IO [NDArrayHandle]-_ravel_multi_index args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ravel_multi_index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_ravel_multi_index_upd ::-                       forall args . Fullfilled "_ravel_multi_index(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_ravel_multi_index(ndarray)" args -> IO ()-_ravel_multi_index_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ravel_multi_index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_unravel_index(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--_unravel_index ::-               forall args . Fullfilled "_unravel_index(ndarray)" args =>-                 ArgsHMap "_unravel_index(ndarray)" args -> IO [NDArrayHandle]-_unravel_index args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_unravel_index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_unravel_index_upd ::-                   forall args . Fullfilled "_unravel_index(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_unravel_index(ndarray)" args -> IO ()-_unravel_index_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_unravel_index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argmax(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--argmax ::-       forall args . Fullfilled "argmax(ndarray)" args =>-         ArgsHMap "argmax(ndarray)" args -> IO [NDArrayHandle]-argmax args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argmax_upd ::-           forall args . Fullfilled "argmax(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "argmax(ndarray)" args -> IO ()-argmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argmin(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--argmin ::-       forall args . Fullfilled "argmin(ndarray)" args =>-         ArgsHMap "argmin(ndarray)" args -> IO [NDArrayHandle]-argmin args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argmin_upd ::-           forall args . Fullfilled "argmin(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "argmin(ndarray)" args -> IO ()-argmin_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argmax_channel(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--argmax_channel ::-               forall args . Fullfilled "argmax_channel(ndarray)" args =>-                 ArgsHMap "argmax_channel(ndarray)" args -> IO [NDArrayHandle]-argmax_channel args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax_channel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argmax_channel_upd ::-                   forall args . Fullfilled "argmax_channel(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "argmax_channel(ndarray)" args -> IO ()-argmax_channel_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax_channel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "pick(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("mode", AttrOpt (EnumType '["clip", "wrap"])),-        '("data", AttrOpt NDArrayHandle),-        '("index", AttrOpt NDArrayHandle)]--pick ::-     forall args . Fullfilled "pick(ndarray)" args =>-       ArgsHMap "pick(ndarray)" args -> IO [NDArrayHandle]-pick args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "wrap"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("index",) <$> (args !? #index :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--pick_upd ::-         forall args . Fullfilled "pick(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "pick(ndarray)" args -> IO ()-pick_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "wrap"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("index",) <$> (args !? #index :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_pick(ndarray)" = '[]--_backward_pick ::-               forall args . Fullfilled "_backward_pick(ndarray)" args =>-                 ArgsHMap "_backward_pick(ndarray)" args -> IO [NDArrayHandle]-_backward_pick args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_pick_upd ::-                   forall args . Fullfilled "_backward_pick(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_pick(ndarray)" args -> IO ()-_backward_pick_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sparse_retain(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--_sparse_retain ::-               forall args . Fullfilled "_sparse_retain(ndarray)" args =>-                 ArgsHMap "_sparse_retain(ndarray)" args -> IO [NDArrayHandle]-_sparse_retain args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sparse_retain_upd ::-                   forall args . Fullfilled "_sparse_retain(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_sparse_retain(ndarray)" args -> IO ()-_sparse_retain_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sparse_retain(ndarray)" =-     '[]--_backward_sparse_retain ::-                        forall args . Fullfilled "_backward_sparse_retain(ndarray)" args =>-                          ArgsHMap "_backward_sparse_retain(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_sparse_retain args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sparse_retain_upd ::-                            forall args . Fullfilled "_backward_sparse_retain(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_sparse_retain(ndarray)" args -> IO ()-_backward_sparse_retain_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_where(ndarray)" =-     '[ '("condition", AttrOpt NDArrayHandle),-        '("x", AttrOpt NDArrayHandle), '("y", AttrOpt NDArrayHandle)]--_where ::-       forall args . Fullfilled "_where(ndarray)" args =>-         ArgsHMap "_where(ndarray)" args -> IO [NDArrayHandle]-_where args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("condition",) <$> (args !? #condition :: Maybe NDArrayHandle),-               ("x",) <$> (args !? #x :: Maybe NDArrayHandle),-               ("y",) <$> (args !? #y :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_where_upd ::-           forall args . Fullfilled "_where(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_where(ndarray)" args -> IO ()-_where_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("condition",) <$> (args !? #condition :: Maybe NDArrayHandle),-               ("x",) <$> (args !? #x :: Maybe NDArrayHandle),-               ("y",) <$> (args !? #y :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_where(ndarray)" = '[]--_backward_where ::-                forall args . Fullfilled "_backward_where(ndarray)" args =>-                  ArgsHMap "_backward_where(ndarray)" args -> IO [NDArrayHandle]-_backward_where args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_where_upd ::-                    forall args . Fullfilled "_backward_where(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_where(ndarray)" args -> IO ()-_backward_where_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "diag(ndarray)" =-     '[ '("k", AttrOpt (Maybe Int)), '("data", AttrOpt NDArrayHandle)]--diag ::-     forall args . Fullfilled "diag(ndarray)" args =>-       ArgsHMap "diag(ndarray)" args -> IO [NDArrayHandle]-diag args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "diag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--diag_upd ::-         forall args . Fullfilled "diag(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "diag(ndarray)" args -> IO ()-diag_upd outputs args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "diag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_diag(ndarray)" = '[]--_backward_diag ::-               forall args . Fullfilled "_backward_diag(ndarray)" args =>-                 ArgsHMap "_backward_diag(ndarray)" args -> IO [NDArrayHandle]-_backward_diag args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_diag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_diag_upd ::-                   forall args . Fullfilled "_backward_diag(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_diag(ndarray)" args -> IO ()-_backward_diag_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_diag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_maximum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_maximum_scalar ::-                forall args . Fullfilled "_maximum_scalar(ndarray)" args =>-                  ArgsHMap "_maximum_scalar(ndarray)" args -> IO [NDArrayHandle]-_maximum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_maximum_scalar_upd ::-                    forall args . Fullfilled "_maximum_scalar(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_maximum_scalar(ndarray)" args -> IO ()-_maximum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_maximum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_maximum_scalar ::-                         forall args .-                           Fullfilled "_backward_maximum_scalar(ndarray)" args =>-                           ArgsHMap "_backward_maximum_scalar(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_maximum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_maximum_scalar_upd ::-                             forall args .-                               Fullfilled "_backward_maximum_scalar(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_maximum_scalar(ndarray)" args -> IO ()-_backward_maximum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_minimum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_minimum_scalar ::-                forall args . Fullfilled "_minimum_scalar(ndarray)" args =>-                  ArgsHMap "_minimum_scalar(ndarray)" args -> IO [NDArrayHandle]-_minimum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_minimum_scalar_upd ::-                    forall args . Fullfilled "_minimum_scalar(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_minimum_scalar(ndarray)" args -> IO ()-_minimum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_minimum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_minimum_scalar ::-                         forall args .-                           Fullfilled "_backward_minimum_scalar(ndarray)" args =>-                           ArgsHMap "_backward_minimum_scalar(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_minimum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_minimum_scalar_upd ::-                             forall args .-                               Fullfilled "_backward_minimum_scalar(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_minimum_scalar(ndarray)" args -> IO ()-_backward_minimum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_power_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_power_scalar ::-              forall args . Fullfilled "_power_scalar(ndarray)" args =>-                ArgsHMap "_power_scalar(ndarray)" args -> IO [NDArrayHandle]-_power_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_power_scalar_upd ::-                  forall args . Fullfilled "_power_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_power_scalar(ndarray)" args -> IO ()-_power_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_power_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_power_scalar ::-                       forall args . Fullfilled "_backward_power_scalar(ndarray)" args =>-                         ArgsHMap "_backward_power_scalar(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_power_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_power_scalar_upd ::-                           forall args . Fullfilled "_backward_power_scalar(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_power_scalar(ndarray)" args -> IO ()-_backward_power_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rpower_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rpower_scalar ::-               forall args . Fullfilled "_rpower_scalar(ndarray)" args =>-                 ArgsHMap "_rpower_scalar(ndarray)" args -> IO [NDArrayHandle]-_rpower_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rpower_scalar_upd ::-                   forall args . Fullfilled "_rpower_scalar(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_rpower_scalar(ndarray)" args -> IO ()-_rpower_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rpower_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rpower_scalar ::-                        forall args . Fullfilled "_backward_rpower_scalar(ndarray)" args =>-                          ArgsHMap "_backward_rpower_scalar(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_rpower_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rpower_scalar_upd ::-                            forall args . Fullfilled "_backward_rpower_scalar(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_rpower_scalar(ndarray)" args -> IO ()-_backward_rpower_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_hypot_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_hypot_scalar ::-              forall args . Fullfilled "_hypot_scalar(ndarray)" args =>-                ArgsHMap "_hypot_scalar(ndarray)" args -> IO [NDArrayHandle]-_hypot_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_hypot_scalar_upd ::-                  forall args . Fullfilled "_hypot_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_hypot_scalar(ndarray)" args -> IO ()-_hypot_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_hypot_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_hypot_scalar ::-                       forall args . Fullfilled "_backward_hypot_scalar(ndarray)" args =>-                         ArgsHMap "_backward_hypot_scalar(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_hypot_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_hypot_scalar_upd ::-                           forall args . Fullfilled "_backward_hypot_scalar(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_hypot_scalar(ndarray)" args -> IO ()-_backward_hypot_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "smooth_l1(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--smooth_l1 ::-          forall args . Fullfilled "smooth_l1(ndarray)" args =>-            ArgsHMap "smooth_l1(ndarray)" args -> IO [NDArrayHandle]-smooth_l1 args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--smooth_l1_upd ::-              forall args . Fullfilled "smooth_l1(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "smooth_l1(ndarray)" args -> IO ()-smooth_l1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_smooth_l1(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_smooth_l1 ::-                    forall args . Fullfilled "_backward_smooth_l1(ndarray)" args =>-                      ArgsHMap "_backward_smooth_l1(ndarray)" args -> IO [NDArrayHandle]-_backward_smooth_l1 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_smooth_l1_upd ::-                        forall args . Fullfilled "_backward_smooth_l1(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_smooth_l1(ndarray)" args -> IO ()-_backward_smooth_l1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "topk(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("k", AttrOpt Int),-        '("ret_typ",-          AttrOpt (EnumType '["both", "indices", "mask", "value"])),-        '("is_ascend", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--topk ::-     forall args . Fullfilled "topk(ndarray)" args =>-       ArgsHMap "topk(ndarray)" args -> IO [NDArrayHandle]-topk args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ret_typ",) . showValue <$>-                 (args !? #ret_typ ::-                    Maybe (EnumType '["both", "indices", "mask", "value"])),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--topk_upd ::-         forall args . Fullfilled "topk(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "topk(ndarray)" args -> IO ()-topk_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ret_typ",) . showValue <$>-                 (args !? #ret_typ ::-                    Maybe (EnumType '["both", "indices", "mask", "value"])),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_topk(ndarray)" = '[]--_backward_topk ::-               forall args . Fullfilled "_backward_topk(ndarray)" args =>-                 ArgsHMap "_backward_topk(ndarray)" args -> IO [NDArrayHandle]-_backward_topk args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_topk_upd ::-                   forall args . Fullfilled "_backward_topk(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_topk(ndarray)" args -> IO ()-_backward_topk_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sort(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--sort ::-     forall args . Fullfilled "sort(ndarray)" args =>-       ArgsHMap "sort(ndarray)" args -> IO [NDArrayHandle]-sort args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sort_upd ::-         forall args . Fullfilled "sort(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sort(ndarray)" args -> IO ()-sort_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argsort(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--argsort ::-        forall args . Fullfilled "argsort(ndarray)" args =>-          ArgsHMap "argsort(ndarray)" args -> IO [NDArrayHandle]-argsort args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argsort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argsort_upd ::-            forall args . Fullfilled "argsort(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "argsort(ndarray)" args -> IO ()-argsort_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argsort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Reshape(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("reverse", AttrOpt Bool),-        '("target_shape", AttrOpt [Int]), '("keep_highest", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--_Reshape ::-         forall args . Fullfilled "_Reshape(ndarray)" args =>-           ArgsHMap "_Reshape(ndarray)" args -> IO [NDArrayHandle]-_Reshape args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("keep_highest",) . showValue <$>-                 (args !? #keep_highest :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Reshape"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Reshape_upd ::-             forall args . Fullfilled "_Reshape(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Reshape(ndarray)" args -> IO ()-_Reshape_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("keep_highest",) . showValue <$>-                 (args !? #keep_highest :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Reshape"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Flatten(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_Flatten ::-         forall args . Fullfilled "_Flatten(ndarray)" args =>-           ArgsHMap "_Flatten(ndarray)" args -> IO [NDArrayHandle]-_Flatten args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Flatten_upd ::-             forall args . Fullfilled "_Flatten(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Flatten(ndarray)" args -> IO ()-_Flatten_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "transpose(ndarray)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--transpose ::-          forall args . Fullfilled "transpose(ndarray)" args =>-            ArgsHMap "transpose(ndarray)" args -> IO [NDArrayHandle]-transpose args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "transpose"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--transpose_upd ::-              forall args . Fullfilled "transpose(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "transpose(ndarray)" args -> IO ()-transpose_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "transpose"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "expand_dims(ndarray)" =-     '[ '("axis", AttrReq Int), '("data", AttrOpt NDArrayHandle)]--expand_dims ::-            forall args . Fullfilled "expand_dims(ndarray)" args =>-              ArgsHMap "expand_dims(ndarray)" args -> IO [NDArrayHandle]-expand_dims args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expand_dims"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--expand_dims_upd ::-                forall args . Fullfilled "expand_dims(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "expand_dims(ndarray)" args -> IO ()-expand_dims_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expand_dims"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "slice(ndarray)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--slice ::-      forall args . Fullfilled "slice(ndarray)" args =>-        ArgsHMap "slice(ndarray)" args -> IO [NDArrayHandle]-slice args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--slice_upd ::-          forall args . Fullfilled "slice(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "slice(ndarray)" args -> IO ()-slice_upd outputs args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_slice(ndarray)" = '[]--_backward_slice ::-                forall args . Fullfilled "_backward_slice(ndarray)" args =>-                  ArgsHMap "_backward_slice(ndarray)" args -> IO [NDArrayHandle]-_backward_slice args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_slice_upd ::-                    forall args . Fullfilled "_backward_slice(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_slice(ndarray)" args -> IO ()-_backward_slice_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_slice_assign(ndarray)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_slice_assign ::-              forall args . Fullfilled "_slice_assign(ndarray)" args =>-                ArgsHMap "_slice_assign(ndarray)" args -> IO [NDArrayHandle]-_slice_assign args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_slice_assign_upd ::-                  forall args . Fullfilled "_slice_assign(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_slice_assign(ndarray)" args -> IO ()-_slice_assign_upd outputs args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_slice_assign_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("begin", AttrReq [Int]),-        '("end", AttrReq [Int]), '("step", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--_slice_assign_scalar ::-                     forall args . Fullfilled "_slice_assign_scalar(ndarray)" args =>-                       ArgsHMap "_slice_assign_scalar(ndarray)" args -> IO [NDArrayHandle]-_slice_assign_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float),-               ("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_slice_assign_scalar_upd ::-                         forall args . Fullfilled "_slice_assign_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_slice_assign_scalar(ndarray)" args -> IO ()-_slice_assign_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float),-               ("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "slice_axis(ndarray)" =-     '[ '("axis", AttrReq Int), '("begin", AttrReq Int),-        '("end", AttrReq (Maybe Int)), '("data", AttrOpt NDArrayHandle)]--slice_axis ::-           forall args . Fullfilled "slice_axis(ndarray)" args =>-             ArgsHMap "slice_axis(ndarray)" args -> IO [NDArrayHandle]-slice_axis args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("begin",) . showValue <$> (args !? #begin :: Maybe Int),-               ("end",) . showValue <$> (args !? #end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--slice_axis_upd ::-               forall args . Fullfilled "slice_axis(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "slice_axis(ndarray)" args -> IO ()-slice_axis_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("begin",) . showValue <$> (args !? #begin :: Maybe Int),-               ("end",) . showValue <$> (args !? #end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_slice_axis(ndarray)" = '[]--_backward_slice_axis ::-                     forall args . Fullfilled "_backward_slice_axis(ndarray)" args =>-                       ArgsHMap "_backward_slice_axis(ndarray)" args -> IO [NDArrayHandle]-_backward_slice_axis args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_slice_axis_upd ::-                         forall args . Fullfilled "_backward_slice_axis(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_slice_axis(ndarray)" args -> IO ()-_backward_slice_axis_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "slice_like(ndarray)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle),-        '("shape_like", AttrOpt NDArrayHandle)]--slice_like ::-           forall args . Fullfilled "slice_like(ndarray)" args =>-             ArgsHMap "slice_like(ndarray)" args -> IO [NDArrayHandle]-slice_like args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("shape_like",) <$> (args !? #shape_like :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--slice_like_upd ::-               forall args . Fullfilled "slice_like(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "slice_like(ndarray)" args -> IO ()-slice_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("shape_like",) <$> (args !? #shape_like :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_slice_like(ndarray)" = '[]--_backward_slice_like ::-                     forall args . Fullfilled "_backward_slice_like(ndarray)" args =>-                       ArgsHMap "_backward_slice_like(ndarray)" args -> IO [NDArrayHandle]-_backward_slice_like args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_slice_like_upd ::-                         forall args . Fullfilled "_backward_slice_like(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_slice_like(ndarray)" args -> IO ()-_backward_slice_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "clip(ndarray)" =-     '[ '("a_min", AttrReq Float), '("a_max", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--clip ::-     forall args . Fullfilled "clip(ndarray)" args =>-       ArgsHMap "clip(ndarray)" args -> IO [NDArrayHandle]-clip args-  = let scalarArgs-          = catMaybes-              [("a_min",) . showValue <$> (args !? #a_min :: Maybe Float),-               ("a_max",) . showValue <$> (args !? #a_max :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--clip_upd ::-         forall args . Fullfilled "clip(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "clip(ndarray)" args -> IO ()-clip_upd outputs args-  = let scalarArgs-          = catMaybes-              [("a_min",) . showValue <$> (args !? #a_min :: Maybe Float),-               ("a_max",) . showValue <$> (args !? #a_max :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_clip(ndarray)" = '[]--_backward_clip ::-               forall args . Fullfilled "_backward_clip(ndarray)" args =>-                 ArgsHMap "_backward_clip(ndarray)" args -> IO [NDArrayHandle]-_backward_clip args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_clip_upd ::-                   forall args . Fullfilled "_backward_clip(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_clip(ndarray)" args -> IO ()-_backward_clip_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "repeat(ndarray)" =-     '[ '("repeats", AttrReq Int), '("axis", AttrOpt (Maybe Int)),-        '("data", AttrOpt NDArrayHandle)]--repeat ::-       forall args . Fullfilled "repeat(ndarray)" args =>-         ArgsHMap "repeat(ndarray)" args -> IO [NDArrayHandle]-repeat args-  = let scalarArgs-          = catMaybes-              [("repeats",) . showValue <$> (args !? #repeats :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--repeat_upd ::-           forall args . Fullfilled "repeat(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "repeat(ndarray)" args -> IO ()-repeat_upd outputs args-  = let scalarArgs-          = catMaybes-              [("repeats",) . showValue <$> (args !? #repeats :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_repeat(ndarray)" = '[]--_backward_repeat ::-                 forall args . Fullfilled "_backward_repeat(ndarray)" args =>-                   ArgsHMap "_backward_repeat(ndarray)" args -> IO [NDArrayHandle]-_backward_repeat args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_repeat_upd ::-                     forall args . Fullfilled "_backward_repeat(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_repeat(ndarray)" args -> IO ()-_backward_repeat_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "tile(ndarray)" =-     '[ '("reps", AttrReq [Int]), '("data", AttrOpt NDArrayHandle)]--tile ::-     forall args . Fullfilled "tile(ndarray)" args =>-       ArgsHMap "tile(ndarray)" args -> IO [NDArrayHandle]-tile args-  = let scalarArgs-          = catMaybes-              [("reps",) . showValue <$> (args !? #reps :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--tile_upd ::-         forall args . Fullfilled "tile(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "tile(ndarray)" args -> IO ()-tile_upd outputs args-  = let scalarArgs-          = catMaybes-              [("reps",) . showValue <$> (args !? #reps :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_tile(ndarray)" = '[]--_backward_tile ::-               forall args . Fullfilled "_backward_tile(ndarray)" args =>-                 ArgsHMap "_backward_tile(ndarray)" args -> IO [NDArrayHandle]-_backward_tile args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_tile_upd ::-                   forall args . Fullfilled "_backward_tile(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_tile(ndarray)" args -> IO ()-_backward_tile_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "reverse(ndarray)" =-     '[ '("axis", AttrReq [Int]), '("data", AttrOpt NDArrayHandle)]--reverse ::-        forall args . Fullfilled "reverse(ndarray)" args =>-          ArgsHMap "reverse(ndarray)" args -> IO [NDArrayHandle]-reverse args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--reverse_upd ::-            forall args . Fullfilled "reverse(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "reverse(ndarray)" args -> IO ()-reverse_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_reverse(ndarray)" = '[]--_backward_reverse ::-                  forall args . Fullfilled "_backward_reverse(ndarray)" args =>-                    ArgsHMap "_backward_reverse(ndarray)" args -> IO [NDArrayHandle]-_backward_reverse args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_reverse_upd ::-                      forall args . Fullfilled "_backward_reverse(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_reverse(ndarray)" args -> IO ()-_backward_reverse_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "stack(ndarray)" =-     '[ '("axis", AttrOpt Int), '("num_args", AttrReq Int),-        '("data", AttrOpt [NDArrayHandle])]--stack ::-      forall args . Fullfilled "stack(ndarray)" args =>-        ArgsHMap "stack(ndarray)" args -> IO [NDArrayHandle]-stack args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "stack"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--stack_upd ::-          forall args . Fullfilled "stack(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "stack(ndarray)" args -> IO ()-stack_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "stack"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_stack(ndarray)" = '[]--_backward_stack ::-                forall args . Fullfilled "_backward_stack(ndarray)" args =>-                  ArgsHMap "_backward_stack(ndarray)" args -> IO [NDArrayHandle]-_backward_stack args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_stack"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_stack_upd ::-                    forall args . Fullfilled "_backward_stack(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_stack(ndarray)" args -> IO ()-_backward_stack_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_stack"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "squeeze(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])),-        '("data", AttrOpt [NDArrayHandle])]--squeeze ::-        forall args . Fullfilled "squeeze(ndarray)" args =>-          ArgsHMap "squeeze(ndarray)" args -> IO [NDArrayHandle]-squeeze args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "squeeze"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--squeeze_upd ::-            forall args . Fullfilled "squeeze(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "squeeze(ndarray)" args -> IO ()-squeeze_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "squeeze"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_squeeze(ndarray)" = '[]--_backward_squeeze ::-                  forall args . Fullfilled "_backward_squeeze(ndarray)" args =>-                    ArgsHMap "_backward_squeeze(ndarray)" args -> IO [NDArrayHandle]-_backward_squeeze args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_squeeze"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_squeeze_upd ::-                      forall args . Fullfilled "_backward_squeeze(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_squeeze(ndarray)" args -> IO ()-_backward_squeeze_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_squeeze"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "depth_to_space(ndarray)" =-     '[ '("block_size", AttrReq Int), '("data", AttrOpt NDArrayHandle)]--depth_to_space ::-               forall args . Fullfilled "depth_to_space(ndarray)" args =>-                 ArgsHMap "depth_to_space(ndarray)" args -> IO [NDArrayHandle]-depth_to_space args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "depth_to_space"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--depth_to_space_upd ::-                   forall args . Fullfilled "depth_to_space(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "depth_to_space(ndarray)" args -> IO ()-depth_to_space_upd outputs args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "depth_to_space"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "space_to_depth(ndarray)" =-     '[ '("block_size", AttrReq Int), '("data", AttrOpt NDArrayHandle)]--space_to_depth ::-               forall args . Fullfilled "space_to_depth(ndarray)" args =>-                 ArgsHMap "space_to_depth(ndarray)" args -> IO [NDArrayHandle]-space_to_depth args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "space_to_depth"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--space_to_depth_upd ::-                   forall args . Fullfilled "space_to_depth(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "space_to_depth(ndarray)" args -> IO ()-space_to_depth_upd outputs args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "space_to_depth"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "dot(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),-        '("lhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--dot ::-    forall args . Fullfilled "dot(ndarray)" args =>-      ArgsHMap "dot(ndarray)" args -> IO [NDArrayHandle]-dot args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--dot_upd ::-        forall args . Fullfilled "dot(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "dot(ndarray)" args -> IO ()-dot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_dot(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"])))]--_backward_dot ::-              forall args . Fullfilled "_backward_dot(ndarray)" args =>-                ArgsHMap "_backward_dot(ndarray)" args -> IO [NDArrayHandle]-_backward_dot args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_dot_upd ::-                  forall args . Fullfilled "_backward_dot(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_dot(ndarray)" args -> IO ()-_backward_dot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "batch_dot(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),-        '("lhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--batch_dot ::-          forall args . Fullfilled "batch_dot(ndarray)" args =>-            ArgsHMap "batch_dot(ndarray)" args -> IO [NDArrayHandle]-batch_dot args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--batch_dot_upd ::-              forall args . Fullfilled "batch_dot(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "batch_dot(ndarray)" args -> IO ()-batch_dot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_batch_dot(ndarray)" = '[]--_backward_batch_dot ::-                    forall args . Fullfilled "_backward_batch_dot(ndarray)" args =>-                      ArgsHMap "_backward_batch_dot(ndarray)" args -> IO [NDArrayHandle]-_backward_batch_dot args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_batch_dot_upd ::-                        forall args . Fullfilled "_backward_batch_dot(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_batch_dot(ndarray)" args -> IO ()-_backward_batch_dot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sin(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sin ::-    forall args . Fullfilled "sin(ndarray)" args =>-      ArgsHMap "sin(ndarray)" args -> IO [NDArrayHandle]-sin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sin_upd ::-        forall args . Fullfilled "sin(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "sin(ndarray)" args -> IO ()-sin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sin(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sin ::-              forall args . Fullfilled "_backward_sin(ndarray)" args =>-                ArgsHMap "_backward_sin(ndarray)" args -> IO [NDArrayHandle]-_backward_sin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sin_upd ::-                  forall args . Fullfilled "_backward_sin(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_sin(ndarray)" args -> IO ()-_backward_sin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cos(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--cos ::-    forall args . Fullfilled "cos(ndarray)" args =>-      ArgsHMap "cos(ndarray)" args -> IO [NDArrayHandle]-cos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cos_upd ::-        forall args . Fullfilled "cos(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "cos(ndarray)" args -> IO ()-cos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cos(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_cos ::-              forall args . Fullfilled "_backward_cos(ndarray)" args =>-                ArgsHMap "_backward_cos(ndarray)" args -> IO [NDArrayHandle]-_backward_cos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cos_upd ::-                  forall args . Fullfilled "_backward_cos(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_cos(ndarray)" args -> IO ()-_backward_cos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "tan(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--tan ::-    forall args . Fullfilled "tan(ndarray)" args =>-      ArgsHMap "tan(ndarray)" args -> IO [NDArrayHandle]-tan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--tan_upd ::-        forall args . Fullfilled "tan(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "tan(ndarray)" args -> IO ()-tan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_tan(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_tan ::-              forall args . Fullfilled "_backward_tan(ndarray)" args =>-                ArgsHMap "_backward_tan(ndarray)" args -> IO [NDArrayHandle]-_backward_tan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_tan_upd ::-                  forall args . Fullfilled "_backward_tan(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_tan(ndarray)" args -> IO ()-_backward_tan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arcsin(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arcsin ::-       forall args . Fullfilled "arcsin(ndarray)" args =>-         ArgsHMap "arcsin(ndarray)" args -> IO [NDArrayHandle]-arcsin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arcsin_upd ::-           forall args . Fullfilled "arcsin(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "arcsin(ndarray)" args -> IO ()-arcsin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arcsin(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arcsin ::-                 forall args . Fullfilled "_backward_arcsin(ndarray)" args =>-                   ArgsHMap "_backward_arcsin(ndarray)" args -> IO [NDArrayHandle]-_backward_arcsin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arcsin_upd ::-                     forall args . Fullfilled "_backward_arcsin(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_arcsin(ndarray)" args -> IO ()-_backward_arcsin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arccos(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arccos ::-       forall args . Fullfilled "arccos(ndarray)" args =>-         ArgsHMap "arccos(ndarray)" args -> IO [NDArrayHandle]-arccos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arccos_upd ::-           forall args . Fullfilled "arccos(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "arccos(ndarray)" args -> IO ()-arccos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arccos(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arccos ::-                 forall args . Fullfilled "_backward_arccos(ndarray)" args =>-                   ArgsHMap "_backward_arccos(ndarray)" args -> IO [NDArrayHandle]-_backward_arccos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arccos_upd ::-                     forall args . Fullfilled "_backward_arccos(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_arccos(ndarray)" args -> IO ()-_backward_arccos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arctan(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arctan ::-       forall args . Fullfilled "arctan(ndarray)" args =>-         ArgsHMap "arctan(ndarray)" args -> IO [NDArrayHandle]-arctan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arctan_upd ::-           forall args . Fullfilled "arctan(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "arctan(ndarray)" args -> IO ()-arctan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arctan(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arctan ::-                 forall args . Fullfilled "_backward_arctan(ndarray)" args =>-                   ArgsHMap "_backward_arctan(ndarray)" args -> IO [NDArrayHandle]-_backward_arctan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arctan_upd ::-                     forall args . Fullfilled "_backward_arctan(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_arctan(ndarray)" args -> IO ()-_backward_arctan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "degrees(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--degrees ::-        forall args . Fullfilled "degrees(ndarray)" args =>-          ArgsHMap "degrees(ndarray)" args -> IO [NDArrayHandle]-degrees args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--degrees_upd ::-            forall args . Fullfilled "degrees(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "degrees(ndarray)" args -> IO ()-degrees_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_degrees(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_degrees ::-                  forall args . Fullfilled "_backward_degrees(ndarray)" args =>-                    ArgsHMap "_backward_degrees(ndarray)" args -> IO [NDArrayHandle]-_backward_degrees args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_degrees_upd ::-                      forall args . Fullfilled "_backward_degrees(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_degrees(ndarray)" args -> IO ()-_backward_degrees_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "radians(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--radians ::-        forall args . Fullfilled "radians(ndarray)" args =>-          ArgsHMap "radians(ndarray)" args -> IO [NDArrayHandle]-radians args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--radians_upd ::-            forall args . Fullfilled "radians(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "radians(ndarray)" args -> IO ()-radians_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_radians(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_radians ::-                  forall args . Fullfilled "_backward_radians(ndarray)" args =>-                    ArgsHMap "_backward_radians(ndarray)" args -> IO [NDArrayHandle]-_backward_radians args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_radians_upd ::-                      forall args . Fullfilled "_backward_radians(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_radians(ndarray)" args -> IO ()-_backward_radians_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sinh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sinh ::-     forall args . Fullfilled "sinh(ndarray)" args =>-       ArgsHMap "sinh(ndarray)" args -> IO [NDArrayHandle]-sinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sinh_upd ::-         forall args . Fullfilled "sinh(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sinh(ndarray)" args -> IO ()-sinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sinh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sinh ::-               forall args . Fullfilled "_backward_sinh(ndarray)" args =>-                 ArgsHMap "_backward_sinh(ndarray)" args -> IO [NDArrayHandle]-_backward_sinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sinh_upd ::-                   forall args . Fullfilled "_backward_sinh(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_sinh(ndarray)" args -> IO ()-_backward_sinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cosh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--cosh ::-     forall args . Fullfilled "cosh(ndarray)" args =>-       ArgsHMap "cosh(ndarray)" args -> IO [NDArrayHandle]-cosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cosh_upd ::-         forall args . Fullfilled "cosh(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "cosh(ndarray)" args -> IO ()-cosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cosh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_cosh ::-               forall args . Fullfilled "_backward_cosh(ndarray)" args =>-                 ArgsHMap "_backward_cosh(ndarray)" args -> IO [NDArrayHandle]-_backward_cosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cosh_upd ::-                   forall args . Fullfilled "_backward_cosh(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cosh(ndarray)" args -> IO ()-_backward_cosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "tanh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--tanh ::-     forall args . Fullfilled "tanh(ndarray)" args =>-       ArgsHMap "tanh(ndarray)" args -> IO [NDArrayHandle]-tanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--tanh_upd ::-         forall args . Fullfilled "tanh(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "tanh(ndarray)" args -> IO ()-tanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_tanh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_tanh ::-               forall args . Fullfilled "_backward_tanh(ndarray)" args =>-                 ArgsHMap "_backward_tanh(ndarray)" args -> IO [NDArrayHandle]-_backward_tanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_tanh_upd ::-                   forall args . Fullfilled "_backward_tanh(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_tanh(ndarray)" args -> IO ()-_backward_tanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arcsinh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arcsinh ::-        forall args . Fullfilled "arcsinh(ndarray)" args =>-          ArgsHMap "arcsinh(ndarray)" args -> IO [NDArrayHandle]-arcsinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arcsinh_upd ::-            forall args . Fullfilled "arcsinh(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "arcsinh(ndarray)" args -> IO ()-arcsinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arcsinh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arcsinh ::-                  forall args . Fullfilled "_backward_arcsinh(ndarray)" args =>-                    ArgsHMap "_backward_arcsinh(ndarray)" args -> IO [NDArrayHandle]-_backward_arcsinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arcsinh_upd ::-                      forall args . Fullfilled "_backward_arcsinh(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_arcsinh(ndarray)" args -> IO ()-_backward_arcsinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arccosh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arccosh ::-        forall args . Fullfilled "arccosh(ndarray)" args =>-          ArgsHMap "arccosh(ndarray)" args -> IO [NDArrayHandle]-arccosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arccosh_upd ::-            forall args . Fullfilled "arccosh(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "arccosh(ndarray)" args -> IO ()-arccosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arccosh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arccosh ::-                  forall args . Fullfilled "_backward_arccosh(ndarray)" args =>-                    ArgsHMap "_backward_arccosh(ndarray)" args -> IO [NDArrayHandle]-_backward_arccosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arccosh_upd ::-                      forall args . Fullfilled "_backward_arccosh(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_arccosh(ndarray)" args -> IO ()-_backward_arccosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arctanh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arctanh ::-        forall args . Fullfilled "arctanh(ndarray)" args =>-          ArgsHMap "arctanh(ndarray)" args -> IO [NDArrayHandle]-arctanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arctanh_upd ::-            forall args . Fullfilled "arctanh(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "arctanh(ndarray)" args -> IO ()-arctanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arctanh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arctanh ::-                  forall args . Fullfilled "_backward_arctanh(ndarray)" args =>-                    ArgsHMap "_backward_arctanh(ndarray)" args -> IO [NDArrayHandle]-_backward_arctanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arctanh_upd ::-                      forall args . Fullfilled "_backward_arctanh(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_arctanh(ndarray)" args -> IO ()-_backward_arctanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_CTCLoss(ndarray)" =-     '[ '("use_data_lengths", AttrOpt Bool),-        '("use_label_lengths", AttrOpt Bool),-        '("blank_label", AttrOpt (EnumType '["first", "last"])),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle),-        '("data_lengths", AttrOpt NDArrayHandle),-        '("label_lengths", AttrOpt NDArrayHandle)]--_contrib_CTCLoss ::-                 forall args . Fullfilled "_contrib_CTCLoss(ndarray)" args =>-                   ArgsHMap "_contrib_CTCLoss(ndarray)" args -> IO [NDArrayHandle]-_contrib_CTCLoss args-  = let scalarArgs-          = catMaybes-              [("use_data_lengths",) . showValue <$>-                 (args !? #use_data_lengths :: Maybe Bool),-               ("use_label_lengths",) . showValue <$>-                 (args !? #use_label_lengths :: Maybe Bool),-               ("blank_label",) . showValue <$>-                 (args !? #blank_label :: Maybe (EnumType '["first", "last"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("data_lengths",) <$>-                 (args !? #data_lengths :: Maybe NDArrayHandle),-               ("label_lengths",) <$>-                 (args !? #label_lengths :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_CTCLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_CTCLoss_upd ::-                     forall args . Fullfilled "_contrib_CTCLoss(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_contrib_CTCLoss(ndarray)" args -> IO ()-_contrib_CTCLoss_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_data_lengths",) . showValue <$>-                 (args !? #use_data_lengths :: Maybe Bool),-               ("use_label_lengths",) . showValue <$>-                 (args !? #use_label_lengths :: Maybe Bool),-               ("blank_label",) . showValue <$>-                 (args !? #blank_label :: Maybe (EnumType '["first", "last"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("data_lengths",) <$>-                 (args !? #data_lengths :: Maybe NDArrayHandle),-               ("label_lengths",) <$>-                 (args !? #label_lengths :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_CTCLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quadratic(ndarray)" =-     '[ '("a", AttrOpt Float), '("b", AttrOpt Float),-        '("c", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_contrib_quadratic ::-                   forall args . Fullfilled "_contrib_quadratic(ndarray)" args =>-                     ArgsHMap "_contrib_quadratic(ndarray)" args -> IO [NDArrayHandle]-_contrib_quadratic args-  = let scalarArgs-          = catMaybes-              [("a",) . showValue <$> (args !? #a :: Maybe Float),-               ("b",) . showValue <$> (args !? #b :: Maybe Float),-               ("c",) . showValue <$> (args !? #c :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quadratic"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quadratic_upd ::-                       forall args . Fullfilled "_contrib_quadratic(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_contrib_quadratic(ndarray)" args -> IO ()-_contrib_quadratic_upd outputs args-  = let scalarArgs-          = catMaybes-              [("a",) . showValue <$> (args !? #a :: Maybe Float),-               ("b",) . showValue <$> (args !? #b :: Maybe Float),-               ("c",) . showValue <$> (args !? #c :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quadratic"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_backward_quadratic(ndarray)"-     = '[]--_contrib_backward_quadratic ::-                            forall args .-                              Fullfilled "_contrib_backward_quadratic(ndarray)" args =>-                              ArgsHMap "_contrib_backward_quadratic(ndarray)" args ->-                                IO [NDArrayHandle]-_contrib_backward_quadratic args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_quadratic"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_backward_quadratic_upd ::-                                forall args .-                                  Fullfilled "_contrib_backward_quadratic(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_contrib_backward_quadratic(ndarray)" args -> IO ()-_contrib_backward_quadratic_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_quadratic"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_div_sqrt_dim(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_contrib_div_sqrt_dim ::-                      forall args . Fullfilled "_contrib_div_sqrt_dim(ndarray)" args =>-                        ArgsHMap "_contrib_div_sqrt_dim(ndarray)" args ->-                          IO [NDArrayHandle]-_contrib_div_sqrt_dim args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_div_sqrt_dim"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_div_sqrt_dim_upd ::-                          forall args . Fullfilled "_contrib_div_sqrt_dim(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_contrib_div_sqrt_dim(ndarray)" args -> IO ()-_contrib_div_sqrt_dim_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_div_sqrt_dim"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "khatri_rao(ndarray)" =-     '[ '("args", AttrOpt [NDArrayHandle])]--khatri_rao ::-           forall args . Fullfilled "khatri_rao(ndarray)" args =>-             ArgsHMap "khatri_rao(ndarray)" args -> IO [NDArrayHandle]-khatri_rao args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "khatri_rao"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--khatri_rao_upd ::-               forall args . Fullfilled "khatri_rao(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "khatri_rao(ndarray)" args -> IO ()-khatri_rao_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "khatri_rao"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_ROIAlign(ndarray)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float), '("sample_ratio", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle), '("rois", AttrOpt NDArrayHandle)]--_contrib_ROIAlign ::-                  forall args . Fullfilled "_contrib_ROIAlign(ndarray)" args =>-                    ArgsHMap "_contrib_ROIAlign(ndarray)" args -> IO [NDArrayHandle]-_contrib_ROIAlign args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("sample_ratio",) . showValue <$>-                 (args !? #sample_ratio :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ROIAlign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_ROIAlign_upd ::-                      forall args . Fullfilled "_contrib_ROIAlign(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_contrib_ROIAlign(ndarray)" args -> IO ()-_contrib_ROIAlign_upd outputs args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("sample_ratio",) . showValue <$>-                 (args !? #sample_ratio :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ROIAlign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_ROIAlign(ndarray)" = '[]--_backward_ROIAlign ::-                   forall args . Fullfilled "_backward_ROIAlign(ndarray)" args =>-                     ArgsHMap "_backward_ROIAlign(ndarray)" args -> IO [NDArrayHandle]-_backward_ROIAlign args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIAlign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_ROIAlign_upd ::-                       forall args . Fullfilled "_backward_ROIAlign(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_ROIAlign(ndarray)" args -> IO ()-_backward_ROIAlign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIAlign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_box_nms(ndarray)" =-     '[ '("overlap_thresh", AttrOpt Float),-        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),-        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),-        '("id_index", AttrOpt Int), '("force_suppress", AttrOpt Bool),-        '("in_format", AttrOpt (EnumType '["center", "corner"])),-        '("out_format", AttrOpt (EnumType '["center", "corner"])),-        '("data", AttrOpt NDArrayHandle)]--_contrib_box_nms ::-                 forall args . Fullfilled "_contrib_box_nms(ndarray)" args =>-                   ArgsHMap "_contrib_box_nms(ndarray)" args -> IO [NDArrayHandle]-_contrib_box_nms args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_nms"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_box_nms_upd ::-                     forall args . Fullfilled "_contrib_box_nms(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_contrib_box_nms(ndarray)" args -> IO ()-_contrib_box_nms_upd outputs args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_nms"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_contrib_box_nms(ndarray)" =-     '[ '("overlap_thresh", AttrOpt Float),-        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),-        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),-        '("id_index", AttrOpt Int), '("force_suppress", AttrOpt Bool),-        '("in_format", AttrOpt (EnumType '["center", "corner"])),-        '("out_format", AttrOpt (EnumType '["center", "corner"]))]--_backward_contrib_box_nms ::-                          forall args .-                            Fullfilled "_backward_contrib_box_nms(ndarray)" args =>-                            ArgsHMap "_backward_contrib_box_nms(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_contrib_box_nms args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_nms"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_box_nms_upd ::-                              forall args .-                                Fullfilled "_backward_contrib_box_nms(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_contrib_box_nms(ndarray)" args -> IO ()-_backward_contrib_box_nms_upd outputs args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_nms"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_box_iou(ndarray)" =-     '[ '("format", AttrOpt (EnumType '["center", "corner"])),-        '("lhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--_contrib_box_iou ::-                 forall args . Fullfilled "_contrib_box_iou(ndarray)" args =>-                   ArgsHMap "_contrib_box_iou(ndarray)" args -> IO [NDArrayHandle]-_contrib_box_iou args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_iou"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_box_iou_upd ::-                     forall args . Fullfilled "_contrib_box_iou(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_contrib_box_iou(ndarray)" args -> IO ()-_contrib_box_iou_upd outputs args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_iou"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_contrib_box_iou(ndarray)" =-     '[ '("format", AttrOpt (EnumType '["center", "corner"]))]--_backward_contrib_box_iou ::-                          forall args .-                            Fullfilled "_backward_contrib_box_iou(ndarray)" args =>-                            ArgsHMap "_backward_contrib_box_iou(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_contrib_box_iou args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_iou"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_box_iou_upd ::-                              forall args .-                                Fullfilled "_backward_contrib_box_iou(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_contrib_box_iou(ndarray)" args -> IO ()-_backward_contrib_box_iou_upd outputs args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_iou"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_bipartite_matching(ndarray)"-     =-     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),-        '("topk", AttrOpt Int), '("data", AttrOpt NDArrayHandle)]--_contrib_bipartite_matching ::-                            forall args .-                              Fullfilled "_contrib_bipartite_matching(ndarray)" args =>-                              ArgsHMap "_contrib_bipartite_matching(ndarray)" args ->-                                IO [NDArrayHandle]-_contrib_bipartite_matching args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_bipartite_matching"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_bipartite_matching_upd ::-                                forall args .-                                  Fullfilled "_contrib_bipartite_matching(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_contrib_bipartite_matching(ndarray)" args -> IO ()-_contrib_bipartite_matching_upd outputs args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_bipartite_matching"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_contrib_bipartite_matching(ndarray)" =-     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),-        '("topk", AttrOpt Int)]--_backward_contrib_bipartite_matching ::-                                     forall args .-                                       Fullfilled "_backward_contrib_bipartite_matching(ndarray)"-                                         args =>-                                       ArgsHMap "_backward_contrib_bipartite_matching(ndarray)" args-                                         -> IO [NDArrayHandle]-_backward_contrib_bipartite_matching args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_bipartite_matching"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_bipartite_matching_upd ::-                                         forall args .-                                           Fullfilled-                                             "_backward_contrib_bipartite_matching(ndarray)" args =>-                                           [NDArrayHandle] ->-                                             ArgsHMap-                                               "_backward_contrib_bipartite_matching(ndarray)"-                                               args-                                               -> IO ()-_backward_contrib_bipartite_matching_upd outputs args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_bipartite_matching"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_BilinearResize2D(ndarray)" =-     '[ '("height", AttrReq Int), '("width", AttrReq Int),-        '("data", AttrOpt NDArrayHandle)]--_contrib_BilinearResize2D ::-                          forall args .-                            Fullfilled "_contrib_BilinearResize2D(ndarray)" args =>-                            ArgsHMap "_contrib_BilinearResize2D(ndarray)" args ->-                              IO [NDArrayHandle]-_contrib_BilinearResize2D args-  = let scalarArgs-          = catMaybes-              [("height",) . showValue <$> (args !? #height :: Maybe Int),-               ("width",) . showValue <$> (args !? #width :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_BilinearResize2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_BilinearResize2D_upd ::-                              forall args .-                                Fullfilled "_contrib_BilinearResize2D(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_contrib_BilinearResize2D(ndarray)" args -> IO ()-_contrib_BilinearResize2D_upd outputs args-  = let scalarArgs-          = catMaybes-              [("height",) . showValue <$> (args !? #height :: Maybe Int),-               ("width",) . showValue <$> (args !? #width :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_BilinearResize2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_contrib_BilinearResize2D(ndarray)" = '[]--_backward_contrib_BilinearResize2D ::-                                   forall args .-                                     Fullfilled "_backward_contrib_BilinearResize2D(ndarray)"-                                       args =>-                                     ArgsHMap "_backward_contrib_BilinearResize2D(ndarray)" args ->-                                       IO [NDArrayHandle]-_backward_contrib_BilinearResize2D args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_BilinearResize2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_BilinearResize2D_upd ::-                                       forall args .-                                         Fullfilled "_backward_contrib_BilinearResize2D(ndarray)"-                                           args =>-                                         [NDArrayHandle] ->-                                           ArgsHMap "_backward_contrib_BilinearResize2D(ndarray)"-                                             args-                                             -> IO ()-_backward_contrib_BilinearResize2D_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_BilinearResize2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_SyncBatchNorm(ndarray)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("ndev", AttrOpt Int),-        '("key", AttrOpt String), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle),-        '("moving_mean", AttrOpt NDArrayHandle),-        '("moving_var", AttrOpt NDArrayHandle)]--_contrib_SyncBatchNorm ::-                       forall args . Fullfilled "_contrib_SyncBatchNorm(ndarray)" args =>-                         ArgsHMap "_contrib_SyncBatchNorm(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_SyncBatchNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("ndev",) . showValue <$> (args !? #ndev :: Maybe Int),-               ("key",) . showValue <$> (args !? #key :: Maybe String)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SyncBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_SyncBatchNorm_upd ::-                           forall args . Fullfilled "_contrib_SyncBatchNorm(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_SyncBatchNorm(ndarray)" args -> IO ()-_contrib_SyncBatchNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("ndev",) . showValue <$> (args !? #ndev :: Maybe Int),-               ("key",) . showValue <$> (args !? #key :: Maybe String)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SyncBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_AdaptiveAvgPooling2D(ndarray)" =-     '[ '("output_size", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--_contrib_AdaptiveAvgPooling2D ::-                              forall args .-                                Fullfilled "_contrib_AdaptiveAvgPooling2D(ndarray)" args =>-                                ArgsHMap "_contrib_AdaptiveAvgPooling2D(ndarray)" args ->-                                  IO [NDArrayHandle]-_contrib_AdaptiveAvgPooling2D args-  = let scalarArgs-          = catMaybes-              [("output_size",) . showValue <$>-                 (args !? #output_size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_AdaptiveAvgPooling2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_AdaptiveAvgPooling2D_upd ::-                                  forall args .-                                    Fullfilled "_contrib_AdaptiveAvgPooling2D(ndarray)" args =>-                                    [NDArrayHandle] ->-                                      ArgsHMap "_contrib_AdaptiveAvgPooling2D(ndarray)" args ->-                                        IO ()-_contrib_AdaptiveAvgPooling2D_upd outputs args-  = let scalarArgs-          = catMaybes-              [("output_size",) . showValue <$>-                 (args !? #output_size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_AdaptiveAvgPooling2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_contrib_AdaptiveAvgPooling2D(ndarray)" =-     '[]--_backward_contrib_AdaptiveAvgPooling2D ::-                                       forall args .-                                         Fullfilled-                                           "_backward_contrib_AdaptiveAvgPooling2D(ndarray)" args =>-                                         ArgsHMap "_backward_contrib_AdaptiveAvgPooling2D(ndarray)"-                                           args-                                           -> IO [NDArrayHandle]-_backward_contrib_AdaptiveAvgPooling2D args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_AdaptiveAvgPooling2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_AdaptiveAvgPooling2D_upd ::-                                           forall args .-                                             Fullfilled-                                               "_backward_contrib_AdaptiveAvgPooling2D(ndarray)"-                                               args =>-                                             [NDArrayHandle] ->-                                               ArgsHMap-                                                 "_backward_contrib_AdaptiveAvgPooling2D(ndarray)"-                                                 args-                                                 -> IO ()-_backward_contrib_AdaptiveAvgPooling2D_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_AdaptiveAvgPooling2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_to_tensor(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_to_tensor ::-                 forall args . Fullfilled "_image_to_tensor(ndarray)" args =>-                   ArgsHMap "_image_to_tensor(ndarray)" args -> IO [NDArrayHandle]-_image_to_tensor args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_to_tensor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_to_tensor_upd ::-                     forall args . Fullfilled "_image_to_tensor(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_image_to_tensor(ndarray)" args -> IO ()-_image_to_tensor_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_to_tensor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_normalize(ndarray)" =-     '[ '("mean", AttrReq [Float]), '("std", AttrReq [Float]),-        '("data", AttrOpt NDArrayHandle)]--_image_normalize ::-                 forall args . Fullfilled "_image_normalize(ndarray)" args =>-                   ArgsHMap "_image_normalize(ndarray)" args -> IO [NDArrayHandle]-_image_normalize args-  = let scalarArgs-          = catMaybes-              [("mean",) . showValue <$> (args !? #mean :: Maybe [Float]),-               ("std",) . showValue <$> (args !? #std :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_normalize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_normalize_upd ::-                     forall args . Fullfilled "_image_normalize(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_image_normalize(ndarray)" args -> IO ()-_image_normalize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mean",) . showValue <$> (args !? #mean :: Maybe [Float]),-               ("std",) . showValue <$> (args !? #std :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_normalize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_flip_left_right(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_flip_left_right ::-                       forall args . Fullfilled "_image_flip_left_right(ndarray)" args =>-                         ArgsHMap "_image_flip_left_right(ndarray)" args ->-                           IO [NDArrayHandle]-_image_flip_left_right args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_left_right"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_flip_left_right_upd ::-                           forall args . Fullfilled "_image_flip_left_right(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_flip_left_right(ndarray)" args -> IO ()-_image_flip_left_right_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_left_right"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_image_random_flip_left_right(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_random_flip_left_right ::-                              forall args .-                                Fullfilled "_image_random_flip_left_right(ndarray)" args =>-                                ArgsHMap "_image_random_flip_left_right(ndarray)" args ->-                                  IO [NDArrayHandle]-_image_random_flip_left_right args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_left_right"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_flip_left_right_upd ::-                                  forall args .-                                    Fullfilled "_image_random_flip_left_right(ndarray)" args =>-                                    [NDArrayHandle] ->-                                      ArgsHMap "_image_random_flip_left_right(ndarray)" args ->-                                        IO ()-_image_random_flip_left_right_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_left_right"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_flip_top_bottom(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_flip_top_bottom ::-                       forall args . Fullfilled "_image_flip_top_bottom(ndarray)" args =>-                         ArgsHMap "_image_flip_top_bottom(ndarray)" args ->-                           IO [NDArrayHandle]-_image_flip_top_bottom args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_top_bottom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_flip_top_bottom_upd ::-                           forall args . Fullfilled "_image_flip_top_bottom(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_flip_top_bottom(ndarray)" args -> IO ()-_image_flip_top_bottom_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_top_bottom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_image_random_flip_top_bottom(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_random_flip_top_bottom ::-                              forall args .-                                Fullfilled "_image_random_flip_top_bottom(ndarray)" args =>-                                ArgsHMap "_image_random_flip_top_bottom(ndarray)" args ->-                                  IO [NDArrayHandle]-_image_random_flip_top_bottom args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_top_bottom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_flip_top_bottom_upd ::-                                  forall args .-                                    Fullfilled "_image_random_flip_top_bottom(ndarray)" args =>-                                    [NDArrayHandle] ->-                                      ArgsHMap "_image_random_flip_top_bottom(ndarray)" args ->-                                        IO ()-_image_random_flip_top_bottom_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_top_bottom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_brightness(ndarray)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_brightness ::-                         forall args .-                           Fullfilled "_image_random_brightness(ndarray)" args =>-                           ArgsHMap "_image_random_brightness(ndarray)" args ->-                             IO [NDArrayHandle]-_image_random_brightness args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_brightness"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_brightness_upd ::-                             forall args .-                               Fullfilled "_image_random_brightness(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_image_random_brightness(ndarray)" args -> IO ()-_image_random_brightness_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_brightness"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_contrast(ndarray)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_contrast ::-                       forall args . Fullfilled "_image_random_contrast(ndarray)" args =>-                         ArgsHMap "_image_random_contrast(ndarray)" args ->-                           IO [NDArrayHandle]-_image_random_contrast args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_contrast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_contrast_upd ::-                           forall args . Fullfilled "_image_random_contrast(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_random_contrast(ndarray)" args -> IO ()-_image_random_contrast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_contrast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_saturation(ndarray)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_saturation ::-                         forall args .-                           Fullfilled "_image_random_saturation(ndarray)" args =>-                           ArgsHMap "_image_random_saturation(ndarray)" args ->-                             IO [NDArrayHandle]-_image_random_saturation args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_saturation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_saturation_upd ::-                             forall args .-                               Fullfilled "_image_random_saturation(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_image_random_saturation(ndarray)" args -> IO ()-_image_random_saturation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_saturation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_hue(ndarray)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_hue ::-                  forall args . Fullfilled "_image_random_hue(ndarray)" args =>-                    ArgsHMap "_image_random_hue(ndarray)" args -> IO [NDArrayHandle]-_image_random_hue args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_hue"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_hue_upd ::-                      forall args . Fullfilled "_image_random_hue(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_image_random_hue(ndarray)" args -> IO ()-_image_random_hue_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_hue"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_color_jitter(ndarray)" =-     '[ '("brightness", AttrReq Float), '("contrast", AttrReq Float),-        '("saturation", AttrReq Float), '("hue", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_color_jitter ::-                           forall args .-                             Fullfilled "_image_random_color_jitter(ndarray)" args =>-                             ArgsHMap "_image_random_color_jitter(ndarray)" args ->-                               IO [NDArrayHandle]-_image_random_color_jitter args-  = let scalarArgs-          = catMaybes-              [("brightness",) . showValue <$>-                 (args !? #brightness :: Maybe Float),-               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),-               ("saturation",) . showValue <$>-                 (args !? #saturation :: Maybe Float),-               ("hue",) . showValue <$> (args !? #hue :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_color_jitter"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_color_jitter_upd ::-                               forall args .-                                 Fullfilled "_image_random_color_jitter(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_image_random_color_jitter(ndarray)" args -> IO ()-_image_random_color_jitter_upd outputs args-  = let scalarArgs-          = catMaybes-              [("brightness",) . showValue <$>-                 (args !? #brightness :: Maybe Float),-               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),-               ("saturation",) . showValue <$>-                 (args !? #saturation :: Maybe Float),-               ("hue",) . showValue <$> (args !? #hue :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_color_jitter"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_adjust_lighting(ndarray)" =-     '[ '("alpha", AttrReq [Float]), '("data", AttrOpt NDArrayHandle)]--_image_adjust_lighting ::-                       forall args . Fullfilled "_image_adjust_lighting(ndarray)" args =>-                         ArgsHMap "_image_adjust_lighting(ndarray)" args ->-                           IO [NDArrayHandle]-_image_adjust_lighting args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_adjust_lighting"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_adjust_lighting_upd ::-                           forall args . Fullfilled "_image_adjust_lighting(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_adjust_lighting(ndarray)" args -> IO ()-_image_adjust_lighting_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_adjust_lighting"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_lighting(ndarray)" =-     '[ '("alpha_std", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_image_random_lighting ::-                       forall args . Fullfilled "_image_random_lighting(ndarray)" args =>-                         ArgsHMap "_image_random_lighting(ndarray)" args ->-                           IO [NDArrayHandle]-_image_random_lighting args-  = let scalarArgs-          = catMaybes-              [("alpha_std",) . showValue <$>-                 (args !? #alpha_std :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_lighting"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_lighting_upd ::-                           forall args . Fullfilled "_image_random_lighting(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_random_lighting(ndarray)" args -> IO ()-_image_random_lighting_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha_std",) . showValue <$>-                 (args !? #alpha_std :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_lighting"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "softmax(ndarray)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("data", AttrOpt NDArrayHandle)]--softmax ::-        forall args . Fullfilled "softmax(ndarray)" args =>-          ArgsHMap "softmax(ndarray)" args -> IO [NDArrayHandle]-softmax args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--softmax_upd ::-            forall args . Fullfilled "softmax(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "softmax(ndarray)" args -> IO ()-softmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_softmax(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_softmax ::-                  forall args . Fullfilled "_backward_softmax(ndarray)" args =>-                    ArgsHMap "_backward_softmax(ndarray)" args -> IO [NDArrayHandle]-_backward_softmax args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_softmax_upd ::-                      forall args . Fullfilled "_backward_softmax(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_softmax(ndarray)" args -> IO ()-_backward_softmax_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log_softmax(ndarray)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("data", AttrOpt NDArrayHandle)]--log_softmax ::-            forall args . Fullfilled "log_softmax(ndarray)" args =>-              ArgsHMap "log_softmax(ndarray)" args -> IO [NDArrayHandle]-log_softmax args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log_softmax_upd ::-                forall args . Fullfilled "log_softmax(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "log_softmax(ndarray)" args -> IO ()-log_softmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log_softmax(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log_softmax ::-                      forall args . Fullfilled "_backward_log_softmax(ndarray)" args =>-                        ArgsHMap "_backward_log_softmax(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_log_softmax args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log_softmax_upd ::-                          forall args . Fullfilled "_backward_log_softmax(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_log_softmax(ndarray)" args -> IO ()-_backward_log_softmax_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Pooling(ndarray)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),-        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("p_value", AttrOpt (Maybe Int)),-        '("count_include_pad", AttrOpt (Maybe Bool)),-        '("data", AttrOpt NDArrayHandle)]--_Pooling ::-         forall args . Fullfilled "_Pooling(ndarray)" args =>-           ArgsHMap "_Pooling(ndarray)" args -> IO [NDArrayHandle]-_Pooling args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Pooling_upd ::-             forall args . Fullfilled "_Pooling(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Pooling(ndarray)" args -> IO ()-_Pooling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Pooling(ndarray)" = '[]--_backward_Pooling ::-                  forall args . Fullfilled "_backward_Pooling(ndarray)" args =>-                    ArgsHMap "_backward_Pooling(ndarray)" args -> IO [NDArrayHandle]-_backward_Pooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Pooling_upd ::-                      forall args . Fullfilled "_backward_Pooling(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_Pooling(ndarray)" args -> IO ()-_backward_Pooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Deconvolution(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("adj", AttrOpt [Int]), '("target_shape", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_Deconvolution ::-               forall args . Fullfilled "_Deconvolution(ndarray)" args =>-                 ArgsHMap "_Deconvolution(ndarray)" args -> IO [NDArrayHandle]-_Deconvolution args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("adj",) . showValue <$> (args !? #adj :: Maybe [Int]),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Deconvolution_upd ::-                   forall args . Fullfilled "_Deconvolution(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_Deconvolution(ndarray)" args -> IO ()-_Deconvolution_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("adj",) . showValue <$> (args !? #adj :: Maybe [Int]),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Deconvolution(ndarray)" =-     '[]--_backward_Deconvolution ::-                        forall args . Fullfilled "_backward_Deconvolution(ndarray)" args =>-                          ArgsHMap "_backward_Deconvolution(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_Deconvolution args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Deconvolution_upd ::-                            forall args . Fullfilled "_backward_Deconvolution(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_Deconvolution(ndarray)" args -> IO ()-_backward_Deconvolution_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Activation(ndarray)" =-     '[ '("act_type",-          AttrReq-            (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"])),-        '("data", AttrOpt NDArrayHandle)]--_Activation ::-            forall args . Fullfilled "_Activation(ndarray)" args =>-              ArgsHMap "_Activation(ndarray)" args -> IO [NDArrayHandle]-_Activation args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Activation_upd ::-                forall args . Fullfilled "_Activation(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_Activation(ndarray)" args -> IO ()-_Activation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Activation(ndarray)" = '[]--_backward_Activation ::-                     forall args . Fullfilled "_backward_Activation(ndarray)" args =>-                       ArgsHMap "_backward_Activation(ndarray)" args -> IO [NDArrayHandle]-_backward_Activation args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Activation_upd ::-                         forall args . Fullfilled "_backward_Activation(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_Activation(ndarray)" args -> IO ()-_backward_Activation_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_UpSampling(ndarray)" =-     '[ '("scale", AttrReq Int), '("num_filter", AttrOpt Int),-        '("sample_type", AttrReq (EnumType '["bilinear", "nearest"])),-        '("multi_input_mode", AttrOpt (EnumType '["concat", "sum"])),-        '("num_args", AttrReq Int), '("workspace", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--_UpSampling ::-            forall args . Fullfilled "_UpSampling(ndarray)" args =>-              ArgsHMap "_UpSampling(ndarray)" args -> IO [NDArrayHandle]-_UpSampling args-  = let scalarArgs-          = catMaybes-              [("scale",) . showValue <$> (args !? #scale :: Maybe Int),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("sample_type",) . showValue <$>-                 (args !? #sample_type ::-                    Maybe (EnumType '["bilinear", "nearest"])),-               ("multi_input_mode",) . showValue <$>-                 (args !? #multi_input_mode :: Maybe (EnumType '["concat", "sum"])),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "UpSampling"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_UpSampling_upd ::-                forall args . Fullfilled "_UpSampling(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_UpSampling(ndarray)" args -> IO ()-_UpSampling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scale",) . showValue <$> (args !? #scale :: Maybe Int),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("sample_type",) . showValue <$>-                 (args !? #sample_type ::-                    Maybe (EnumType '["bilinear", "nearest"])),-               ("multi_input_mode",) . showValue <$>-                 (args !? #multi_input_mode :: Maybe (EnumType '["concat", "sum"])),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "UpSampling"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_UpSampling(ndarray)" = '[]--_backward_UpSampling ::-                     forall args . Fullfilled "_backward_UpSampling(ndarray)" args =>-                       ArgsHMap "_backward_UpSampling(ndarray)" args -> IO [NDArrayHandle]-_backward_UpSampling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_UpSampling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_UpSampling_upd ::-                         forall args . Fullfilled "_backward_UpSampling(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_UpSampling(ndarray)" args -> IO ()-_backward_UpSampling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_UpSampling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BatchNorm(ndarray)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle),-        '("moving_mean", AttrOpt NDArrayHandle),-        '("moving_var", AttrOpt NDArrayHandle)]--_BatchNorm ::-           forall args . Fullfilled "_BatchNorm(ndarray)" args =>-             ArgsHMap "_BatchNorm(ndarray)" args -> IO [NDArrayHandle]-_BatchNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BatchNorm_upd ::-               forall args . Fullfilled "_BatchNorm(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_BatchNorm(ndarray)" args -> IO ()-_BatchNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_BatchNorm(ndarray)" = '[]--_backward_BatchNorm ::-                    forall args . Fullfilled "_backward_BatchNorm(ndarray)" args =>-                      ArgsHMap "_backward_BatchNorm(ndarray)" args -> IO [NDArrayHandle]-_backward_BatchNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_BatchNorm_upd ::-                        forall args . Fullfilled "_backward_BatchNorm(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_BatchNorm(ndarray)" args -> IO ()-_backward_BatchNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_FullyConnected(ndarray)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_FullyConnected ::-                forall args . Fullfilled "_FullyConnected(ndarray)" args =>-                  ArgsHMap "_FullyConnected(ndarray)" args -> IO [NDArrayHandle]-_FullyConnected args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_FullyConnected_upd ::-                    forall args . Fullfilled "_FullyConnected(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_FullyConnected(ndarray)" args -> IO ()-_FullyConnected_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_FullyConnected(ndarray)" =-     '[]--_backward_FullyConnected ::-                         forall args .-                           Fullfilled "_backward_FullyConnected(ndarray)" args =>-                           ArgsHMap "_backward_FullyConnected(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_FullyConnected args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_FullyConnected_upd ::-                             forall args .-                               Fullfilled "_backward_FullyConnected(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_FullyConnected(ndarray)" args -> IO ()-_backward_FullyConnected_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Convolution(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_Convolution ::-             forall args . Fullfilled "_Convolution(ndarray)" args =>-               ArgsHMap "_Convolution(ndarray)" args -> IO [NDArrayHandle]-_Convolution args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Convolution_upd ::-                 forall args . Fullfilled "_Convolution(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_Convolution(ndarray)" args -> IO ()-_Convolution_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Convolution(ndarray)" = '[]--_backward_Convolution ::-                      forall args . Fullfilled "_backward_Convolution(ndarray)" args =>-                        ArgsHMap "_backward_Convolution(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_Convolution args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Convolution_upd ::-                          forall args . Fullfilled "_backward_Convolution(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_Convolution(ndarray)" args -> IO ()-_backward_Convolution_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LayerNorm(ndarray)" =-     '[ '("axis", AttrOpt Int), '("eps", AttrOpt Float),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_LayerNorm ::-           forall args . Fullfilled "_LayerNorm(ndarray)" args =>-             ArgsHMap "_LayerNorm(ndarray)" args -> IO [NDArrayHandle]-_LayerNorm args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LayerNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LayerNorm_upd ::-               forall args . Fullfilled "_LayerNorm(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_LayerNorm(ndarray)" args -> IO ()-_LayerNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LayerNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_LayerNorm(ndarray)" = '[]--_backward_LayerNorm ::-                    forall args . Fullfilled "_backward_LayerNorm(ndarray)" args =>-                      ArgsHMap "_backward_LayerNorm(ndarray)" args -> IO [NDArrayHandle]-_backward_LayerNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LayerNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_LayerNorm_upd ::-                        forall args . Fullfilled "_backward_LayerNorm(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_LayerNorm(ndarray)" args -> IO ()-_backward_LayerNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LayerNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Concat(ndarray)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--_Concat ::-        forall args . Fullfilled "_Concat(ndarray)" args =>-          ArgsHMap "_Concat(ndarray)" args -> IO [NDArrayHandle]-_Concat args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_Concat_upd ::-            forall args . Fullfilled "_Concat(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_Concat(ndarray)" args -> IO ()-_Concat_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Concat(ndarray)" = '[]--_backward_Concat ::-                 forall args . Fullfilled "_backward_Concat(ndarray)" args =>-                   ArgsHMap "_backward_Concat(ndarray)" args -> IO [NDArrayHandle]-_backward_Concat args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Concat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Concat_upd ::-                     forall args . Fullfilled "_backward_Concat(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_Concat(ndarray)" args -> IO ()-_backward_Concat_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Concat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rnn_param_concat(ndarray)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--_rnn_param_concat ::-                  forall args . Fullfilled "_rnn_param_concat(ndarray)" args =>-                    ArgsHMap "_rnn_param_concat(ndarray)" args -> IO [NDArrayHandle]-_rnn_param_concat args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_rnn_param_concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_rnn_param_concat_upd ::-                      forall args . Fullfilled "_rnn_param_concat(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_rnn_param_concat(ndarray)" args -> IO ()-_rnn_param_concat_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_rnn_param_concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_SoftmaxActivation(ndarray)" =-     '[ '("mode", AttrOpt (EnumType '["channel", "instance"])),-        '("data", AttrOpt NDArrayHandle)]--_SoftmaxActivation ::-                   forall args . Fullfilled "_SoftmaxActivation(ndarray)" args =>-                     ArgsHMap "_SoftmaxActivation(ndarray)" args -> IO [NDArrayHandle]-_SoftmaxActivation args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["channel", "instance"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SoftmaxActivation_upd ::-                       forall args . Fullfilled "_SoftmaxActivation(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_SoftmaxActivation(ndarray)" args -> IO ()-_SoftmaxActivation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["channel", "instance"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SoftmaxActivation(ndarray)"-     = '[]--_backward_SoftmaxActivation ::-                            forall args .-                              Fullfilled "_backward_SoftmaxActivation(ndarray)" args =>-                              ArgsHMap "_backward_SoftmaxActivation(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_SoftmaxActivation args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SoftmaxActivation_upd ::-                                forall args .-                                  Fullfilled "_backward_SoftmaxActivation(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_SoftmaxActivation(ndarray)" args -> IO ()-_backward_SoftmaxActivation_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LRN(ndarray)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("knorm", AttrOpt Float), '("nsize", AttrReq Int),-        '("data", AttrOpt NDArrayHandle)]--_LRN ::-     forall args . Fullfilled "_LRN(ndarray)" args =>-       ArgsHMap "_LRN(ndarray)" args -> IO [NDArrayHandle]-_LRN args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("knorm",) . showValue <$> (args !? #knorm :: Maybe Float),-               ("nsize",) . showValue <$> (args !? #nsize :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LRN_upd ::-         forall args . Fullfilled "_LRN(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_LRN(ndarray)" args -> IO ()-_LRN_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("knorm",) . showValue <$> (args !? #knorm :: Maybe Float),-               ("nsize",) . showValue <$> (args !? #nsize :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_LRN(ndarray)" = '[]--_backward_LRN ::-              forall args . Fullfilled "_backward_LRN(ndarray)" args =>-                ArgsHMap "_backward_LRN(ndarray)" args -> IO [NDArrayHandle]-_backward_LRN args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_LRN_upd ::-                  forall args . Fullfilled "_backward_LRN(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_LRN(ndarray)" args -> IO ()-_backward_LRN_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Dropout(ndarray)" =-     '[ '("p", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["always", "training"])),-        '("axes", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--_Dropout ::-         forall args . Fullfilled "_Dropout(ndarray)" args =>-           ArgsHMap "_Dropout(ndarray)" args -> IO [NDArrayHandle]-_Dropout args-  = let scalarArgs-          = catMaybes-              [("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["always", "training"])),-               ("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Dropout_upd ::-             forall args . Fullfilled "_Dropout(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Dropout(ndarray)" args -> IO ()-_Dropout_upd outputs args-  = let scalarArgs-          = catMaybes-              [("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["always", "training"])),-               ("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Dropout(ndarray)" = '[]--_backward_Dropout ::-                  forall args . Fullfilled "_backward_Dropout(ndarray)" args =>-                    ArgsHMap "_backward_Dropout(ndarray)" args -> IO [NDArrayHandle]-_backward_Dropout args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Dropout_upd ::-                      forall args . Fullfilled "_backward_Dropout(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_Dropout(ndarray)" args -> IO ()-_backward_Dropout_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_dequantize(ndarray)" =-     '[ '("out_type", AttrOpt (EnumType '["float32"])),-        '("data", AttrOpt NDArrayHandle),-        '("min_range", AttrOpt NDArrayHandle),-        '("max_range", AttrOpt NDArrayHandle)]--_contrib_dequantize ::-                    forall args . Fullfilled "_contrib_dequantize(ndarray)" args =>-                      ArgsHMap "_contrib_dequantize(ndarray)" args -> IO [NDArrayHandle]-_contrib_dequantize args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["float32"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dequantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_dequantize_upd ::-                        forall args . Fullfilled "_contrib_dequantize(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_contrib_dequantize(ndarray)" args -> IO ()-_contrib_dequantize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["float32"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dequantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantized_flatten(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("min_data", AttrOpt NDArrayHandle),-        '("max_data", AttrOpt NDArrayHandle)]--_contrib_quantized_flatten ::-                           forall args .-                             Fullfilled "_contrib_quantized_flatten(ndarray)" args =>-                             ArgsHMap "_contrib_quantized_flatten(ndarray)" args ->-                               IO [NDArrayHandle]-_contrib_quantized_flatten args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_flatten_upd ::-                               forall args .-                                 Fullfilled "_contrib_quantized_flatten(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_contrib_quantized_flatten(ndarray)" args -> IO ()-_contrib_quantized_flatten_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantized_conv(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle),-        '("min_data", AttrOpt NDArrayHandle),-        '("max_data", AttrOpt NDArrayHandle),-        '("min_weight", AttrOpt NDArrayHandle),-        '("max_weight", AttrOpt NDArrayHandle),-        '("min_bias", AttrOpt NDArrayHandle),-        '("max_bias", AttrOpt NDArrayHandle)]--_contrib_quantized_conv ::-                        forall args . Fullfilled "_contrib_quantized_conv(ndarray)" args =>-                          ArgsHMap "_contrib_quantized_conv(ndarray)" args ->-                            IO [NDArrayHandle]-_contrib_quantized_conv args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe NDArrayHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe NDArrayHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe NDArrayHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_conv"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_conv_upd ::-                            forall args . Fullfilled "_contrib_quantized_conv(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_contrib_quantized_conv(ndarray)" args -> IO ()-_contrib_quantized_conv_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe NDArrayHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe NDArrayHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe NDArrayHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_conv"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_quantized_fully_connected(ndarray)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle),-        '("min_data", AttrOpt NDArrayHandle),-        '("max_data", AttrOpt NDArrayHandle),-        '("min_weight", AttrOpt NDArrayHandle),-        '("max_weight", AttrOpt NDArrayHandle),-        '("min_bias", AttrOpt NDArrayHandle),-        '("max_bias", AttrOpt NDArrayHandle)]--_contrib_quantized_fully_connected ::-                                   forall args .-                                     Fullfilled "_contrib_quantized_fully_connected(ndarray)"-                                       args =>-                                     ArgsHMap "_contrib_quantized_fully_connected(ndarray)" args ->-                                       IO [NDArrayHandle]-_contrib_quantized_fully_connected args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe NDArrayHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe NDArrayHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe NDArrayHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_fully_connected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_fully_connected_upd ::-                                       forall args .-                                         Fullfilled "_contrib_quantized_fully_connected(ndarray)"-                                           args =>-                                         [NDArrayHandle] ->-                                           ArgsHMap "_contrib_quantized_fully_connected(ndarray)"-                                             args-                                             -> IO ()-_contrib_quantized_fully_connected_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe NDArrayHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe NDArrayHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe NDArrayHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_fully_connected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantized_pooling(ndarray)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),-        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("p_value", AttrOpt (Maybe Int)),-        '("count_include_pad", AttrOpt (Maybe Bool)),-        '("data", AttrOpt NDArrayHandle),-        '("min_data", AttrOpt NDArrayHandle),-        '("max_data", AttrOpt NDArrayHandle)]--_contrib_quantized_pooling ::-                           forall args .-                             Fullfilled "_contrib_quantized_pooling(ndarray)" args =>-                             ArgsHMap "_contrib_quantized_pooling(ndarray)" args ->-                               IO [NDArrayHandle]-_contrib_quantized_pooling args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_pooling_upd ::-                               forall args .-                                 Fullfilled "_contrib_quantized_pooling(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_contrib_quantized_pooling(ndarray)" args -> IO ()-_contrib_quantized_pooling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_requantize(ndarray)" =-     '[ '("min_calib_range", AttrOpt (Maybe Float)),-        '("max_calib_range", AttrOpt (Maybe Float)),-        '("data", AttrOpt NDArrayHandle),-        '("min_range", AttrOpt NDArrayHandle),-        '("max_range", AttrOpt NDArrayHandle)]--_contrib_requantize ::-                    forall args . Fullfilled "_contrib_requantize(ndarray)" args =>-                      ArgsHMap "_contrib_requantize(ndarray)" args -> IO [NDArrayHandle]-_contrib_requantize args-  = let scalarArgs-          = catMaybes-              [("min_calib_range",) . showValue <$>-                 (args !? #min_calib_range :: Maybe (Maybe Float)),-               ("max_calib_range",) . showValue <$>-                 (args !? #max_calib_range :: Maybe (Maybe Float))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_requantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_requantize_upd ::-                        forall args . Fullfilled "_contrib_requantize(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_contrib_requantize(ndarray)" args -> IO ()-_contrib_requantize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_calib_range",) . showValue <$>-                 (args !? #min_calib_range :: Maybe (Maybe Float)),-               ("max_calib_range",) . showValue <$>-                 (args !? #max_calib_range :: Maybe (Maybe Float))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_requantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantize(ndarray)" =-     '[ '("out_type", AttrOpt (EnumType '["int8", "uint8"])),-        '("data", AttrOpt NDArrayHandle),-        '("min_range", AttrOpt NDArrayHandle),-        '("max_range", AttrOpt NDArrayHandle)]--_contrib_quantize ::-                  forall args . Fullfilled "_contrib_quantize(ndarray)" args =>-                    ArgsHMap "_contrib_quantize(ndarray)" args -> IO [NDArrayHandle]-_contrib_quantize args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["int8", "uint8"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantize_upd ::-                      forall args . Fullfilled "_contrib_quantize(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_contrib_quantize(ndarray)" args -> IO ()-_contrib_quantize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["int8", "uint8"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvimdecode(ndarray)" =-     '[ '("flag", AttrOpt Int), '("to_rgb", AttrOpt Bool),-        '("buf", AttrOpt NDArrayHandle)]--_cvimdecode ::-            forall args . Fullfilled "_cvimdecode(ndarray)" args =>-              ArgsHMap "_cvimdecode(ndarray)" args -> IO [NDArrayHandle]-_cvimdecode args-  = let scalarArgs-          = catMaybes-              [("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs-          = catMaybes [("buf",) <$> (args !? #buf :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvimdecode_upd ::-                forall args . Fullfilled "_cvimdecode(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_cvimdecode(ndarray)" args -> IO ()-_cvimdecode_upd outputs args-  = let scalarArgs-          = catMaybes-              [("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs-          = catMaybes [("buf",) <$> (args !? #buf :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvimread(ndarray)" =-     '[ '("filename", AttrReq String), '("flag", AttrOpt Int),-        '("to_rgb", AttrOpt Bool)]--_cvimread ::-          forall args . Fullfilled "_cvimread(ndarray)" args =>-            ArgsHMap "_cvimread(ndarray)" args -> IO [NDArrayHandle]-_cvimread args-  = let scalarArgs-          = catMaybes-              [("filename",) . showValue <$> (args !? #filename :: Maybe String),-               ("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimread"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvimread_upd ::-              forall args . Fullfilled "_cvimread(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_cvimread(ndarray)" args -> IO ()-_cvimread_upd outputs args-  = let scalarArgs-          = catMaybes-              [("filename",) . showValue <$> (args !? #filename :: Maybe String),-               ("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimread"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvimresize(ndarray)" =-     '[ '("w", AttrReq Int), '("h", AttrReq Int),-        '("interp", AttrOpt Int), '("src", AttrOpt NDArrayHandle)]--_cvimresize ::-            forall args . Fullfilled "_cvimresize(ndarray)" args =>-              ArgsHMap "_cvimresize(ndarray)" args -> IO [NDArrayHandle]-_cvimresize args-  = let scalarArgs-          = catMaybes-              [("w",) . showValue <$> (args !? #w :: Maybe Int),-               ("h",) . showValue <$> (args !? #h :: Maybe Int),-               ("interp",) . showValue <$> (args !? #interp :: Maybe Int)]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimresize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvimresize_upd ::-                forall args . Fullfilled "_cvimresize(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_cvimresize(ndarray)" args -> IO ()-_cvimresize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("w",) . showValue <$> (args !? #w :: Maybe Int),-               ("h",) . showValue <$> (args !? #h :: Maybe Int),-               ("interp",) . showValue <$> (args !? #interp :: Maybe Int)]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimresize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvcopyMakeBorder(ndarray)" =-     '[ '("top", AttrReq Int), '("bot", AttrReq Int),-        '("left", AttrReq Int), '("right", AttrReq Int),-        '("type", AttrOpt Int), '("value", AttrOpt Double),-        '("values", AttrOpt [Double]), '("src", AttrOpt NDArrayHandle)]--_cvcopyMakeBorder ::-                  forall args . Fullfilled "_cvcopyMakeBorder(ndarray)" args =>-                    ArgsHMap "_cvcopyMakeBorder(ndarray)" args -> IO [NDArrayHandle]-_cvcopyMakeBorder args-  = let scalarArgs-          = catMaybes-              [("top",) . showValue <$> (args !? #top :: Maybe Int),-               ("bot",) . showValue <$> (args !? #bot :: Maybe Int),-               ("left",) . showValue <$> (args !? #left :: Maybe Int),-               ("right",) . showValue <$> (args !? #right :: Maybe Int),-               ("type",) . showValue <$> (args !? #type :: Maybe Int),-               ("value",) . showValue <$> (args !? #value :: Maybe Double),-               ("values",) . showValue <$> (args !? #values :: Maybe [Double])]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvcopyMakeBorder"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvcopyMakeBorder_upd ::-                      forall args . Fullfilled "_cvcopyMakeBorder(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_cvcopyMakeBorder(ndarray)" args -> IO ()-_cvcopyMakeBorder_upd outputs args-  = let scalarArgs-          = catMaybes-              [("top",) . showValue <$> (args !? #top :: Maybe Int),-               ("bot",) . showValue <$> (args !? #bot :: Maybe Int),-               ("left",) . showValue <$> (args !? #left :: Maybe Int),-               ("right",) . showValue <$> (args !? #right :: Maybe Int),-               ("type",) . showValue <$> (args !? #type :: Maybe Int),-               ("value",) . showValue <$> (args !? #value :: Maybe Double),-               ("values",) . showValue <$> (args !? #values :: Maybe [Double])]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvcopyMakeBorder"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_NoGradient(ndarray)" = '[]--_NoGradient ::-            forall args . Fullfilled "_NoGradient(ndarray)" args =>-              ArgsHMap "_NoGradient(ndarray)" args -> IO [NDArrayHandle]-_NoGradient args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_NoGradient"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_NoGradient_upd ::-                forall args . Fullfilled "_NoGradient(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_NoGradient(ndarray)" args -> IO ()-_NoGradient_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_NoGradient"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CachedOp(ndarray)" = '[]--_CachedOp ::-          forall args . Fullfilled "_CachedOp(ndarray)" args =>-            ArgsHMap "_CachedOp(ndarray)" args -> IO [NDArrayHandle]-_CachedOp args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CachedOp_upd ::-              forall args . Fullfilled "_CachedOp(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_CachedOp(ndarray)" args -> IO ()-_CachedOp_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_CachedOp(ndarray)" = '[]--_backward_CachedOp ::-                   forall args . Fullfilled "_backward_CachedOp(ndarray)" args =>-                     ArgsHMap "_backward_CachedOp(ndarray)" args -> IO [NDArrayHandle]-_backward_CachedOp args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_CachedOp_upd ::-                       forall args . Fullfilled "_backward_CachedOp(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_CachedOp(ndarray)" args -> IO ()-_backward_CachedOp_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_copyto(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_copyto ::-        forall args . Fullfilled "_copyto(ndarray)" args =>-          ArgsHMap "_copyto(ndarray)" args -> IO [NDArrayHandle]-_copyto args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copyto"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_copyto_upd ::-            forall args . Fullfilled "_copyto(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_copyto(ndarray)" args -> IO ()-_copyto_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copyto"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "softmax_cross_entropy(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--softmax_cross_entropy ::-                      forall args . Fullfilled "softmax_cross_entropy(ndarray)" args =>-                        ArgsHMap "softmax_cross_entropy(ndarray)" args ->-                          IO [NDArrayHandle]-softmax_cross_entropy args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--softmax_cross_entropy_upd ::-                          forall args . Fullfilled "softmax_cross_entropy(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "softmax_cross_entropy(ndarray)" args -> IO ()-softmax_cross_entropy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_softmax_cross_entropy(ndarray)" = '[]--_backward_softmax_cross_entropy ::-                                forall args .-                                  Fullfilled "_backward_softmax_cross_entropy(ndarray)" args =>-                                  ArgsHMap "_backward_softmax_cross_entropy(ndarray)" args ->-                                    IO [NDArrayHandle]-_backward_softmax_cross_entropy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_softmax_cross_entropy_upd ::-                                    forall args .-                                      Fullfilled "_backward_softmax_cross_entropy(ndarray)" args =>-                                      [NDArrayHandle] ->-                                        ArgsHMap "_backward_softmax_cross_entropy(ndarray)" args ->-                                          IO ()-_backward_softmax_cross_entropy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Pad(ndarray)" =-     '[ '("mode", AttrReq (EnumType '["constant", "edge", "reflect"])),-        '("pad_width", AttrReq [Int]), '("constant_value", AttrOpt Double),-        '("data", AttrOpt NDArrayHandle)]--_Pad ::-     forall args . Fullfilled "_Pad(ndarray)" args =>-       ArgsHMap "_Pad(ndarray)" args -> IO [NDArrayHandle]-_Pad args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["constant", "edge", "reflect"])),-               ("pad_width",) . showValue <$> (args !? #pad_width :: Maybe [Int]),-               ("constant_value",) . showValue <$>-                 (args !? #constant_value :: Maybe Double)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Pad_upd ::-         forall args . Fullfilled "_Pad(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_Pad(ndarray)" args -> IO ()-_Pad_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["constant", "edge", "reflect"])),-               ("pad_width",) . showValue <$> (args !? #pad_width :: Maybe [Int]),-               ("constant_value",) . showValue <$>-                 (args !? #constant_value :: Maybe Double)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_foreach(ndarray)" = '[]--_backward_foreach ::-                  forall args . Fullfilled "_backward_foreach(ndarray)" args =>-                    ArgsHMap "_backward_foreach(ndarray)" args -> IO [NDArrayHandle]-_backward_foreach args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_foreach"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_foreach_upd ::-                      forall args . Fullfilled "_backward_foreach(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_foreach(ndarray)" args -> IO ()-_backward_foreach_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_foreach"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_while_loop(ndarray)" = '[]--_backward_while_loop ::-                     forall args . Fullfilled "_backward_while_loop(ndarray)" args =>-                       ArgsHMap "_backward_while_loop(ndarray)" args -> IO [NDArrayHandle]-_backward_while_loop args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_while_loop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_while_loop_upd ::-                         forall args . Fullfilled "_backward_while_loop(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_while_loop(ndarray)" args -> IO ()-_backward_while_loop_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_while_loop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cond(ndarray)" = '[]--_backward_cond ::-               forall args . Fullfilled "_backward_cond(ndarray)" args =>-                 ArgsHMap "_backward_cond(ndarray)" args -> IO [NDArrayHandle]-_backward_cond args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cond"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cond_upd ::-                   forall args . Fullfilled "_backward_cond(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cond(ndarray)" args -> IO ()-_backward_cond_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cond"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LeakyReLU(ndarray)" =-     '[ '("act_type",-          AttrOpt (EnumType '["elu", "leaky", "prelu", "rrelu", "selu"])),-        '("slope", AttrOpt Float), '("lower_bound", AttrOpt Float),-        '("upper_bound", AttrOpt Float), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle)]--_LeakyReLU ::-           forall args . Fullfilled "_LeakyReLU(ndarray)" args =>-             ArgsHMap "_LeakyReLU(ndarray)" args -> IO [NDArrayHandle]-_LeakyReLU args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe (EnumType '["elu", "leaky", "prelu", "rrelu", "selu"])),-               ("slope",) . showValue <$> (args !? #slope :: Maybe Float),-               ("lower_bound",) . showValue <$>-                 (args !? #lower_bound :: Maybe Float),-               ("upper_bound",) . showValue <$>-                 (args !? #upper_bound :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LeakyReLU_upd ::-               forall args . Fullfilled "_LeakyReLU(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_LeakyReLU(ndarray)" args -> IO ()-_LeakyReLU_upd outputs args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe (EnumType '["elu", "leaky", "prelu", "rrelu", "selu"])),-               ("slope",) . showValue <$> (args !? #slope :: Maybe Float),-               ("lower_bound",) . showValue <$>-                 (args !? #lower_bound :: Maybe Float),-               ("upper_bound",) . showValue <$>-                 (args !? #upper_bound :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SwapAxis(ndarray)" =-     '[ '("dim1", AttrOpt Int), '("dim2", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle)]--_SwapAxis ::-          forall args . Fullfilled "_SwapAxis(ndarray)" args =>-            ArgsHMap "_SwapAxis(ndarray)" args -> IO [NDArrayHandle]-_SwapAxis args-  = let scalarArgs-          = catMaybes-              [("dim1",) . showValue <$> (args !? #dim1 :: Maybe Int),-               ("dim2",) . showValue <$> (args !? #dim2 :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SwapAxis_upd ::-              forall args . Fullfilled "_SwapAxis(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_SwapAxis(ndarray)" args -> IO ()-_SwapAxis_upd outputs args-  = let scalarArgs-          = catMaybes-              [("dim1",) . showValue <$> (args !? #dim1 :: Maybe Int),-               ("dim2",) . showValue <$> (args !? #dim2 :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_IdentityAttachKLSparseReg(ndarray)" =-     '[ '("sparseness_target", AttrOpt Float),-        '("penalty", AttrOpt Float), '("momentum", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_IdentityAttachKLSparseReg ::-                           forall args .-                             Fullfilled "_IdentityAttachKLSparseReg(ndarray)" args =>-                             ArgsHMap "_IdentityAttachKLSparseReg(ndarray)" args ->-                               IO [NDArrayHandle]-_IdentityAttachKLSparseReg args-  = let scalarArgs-          = catMaybes-              [("sparseness_target",) . showValue <$>-                 (args !? #sparseness_target :: Maybe Float),-               ("penalty",) . showValue <$> (args !? #penalty :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_IdentityAttachKLSparseReg_upd ::-                               forall args .-                                 Fullfilled "_IdentityAttachKLSparseReg(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_IdentityAttachKLSparseReg(ndarray)" args -> IO ()-_IdentityAttachKLSparseReg_upd outputs args-  = let scalarArgs-          = catMaybes-              [("sparseness_target",) . showValue <$>-                 (args !? #sparseness_target :: Maybe Float),-               ("penalty",) . showValue <$> (args !? #penalty :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SliceChannel(ndarray)" =-     '[ '("num_outputs", AttrReq Int), '("axis", AttrOpt Int),-        '("squeeze_axis", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--_SliceChannel ::-              forall args . Fullfilled "_SliceChannel(ndarray)" args =>-                ArgsHMap "_SliceChannel(ndarray)" args -> IO [NDArrayHandle]-_SliceChannel args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SliceChannel_upd ::-                  forall args . Fullfilled "_SliceChannel(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_SliceChannel(ndarray)" args -> IO ()-_SliceChannel_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BatchNorm_v1(ndarray)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_BatchNorm_v1 ::-              forall args . Fullfilled "_BatchNorm_v1(ndarray)" args =>-                ArgsHMap "_BatchNorm_v1(ndarray)" args -> IO [NDArrayHandle]-_BatchNorm_v1 args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BatchNorm_v1_upd ::-                  forall args . Fullfilled "_BatchNorm_v1(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_BatchNorm_v1(ndarray)" args -> IO ()-_BatchNorm_v1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "signsgd_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle)]--signsgd_update ::-               forall args . Fullfilled "signsgd_update(ndarray)" args =>-                 ArgsHMap "signsgd_update(ndarray)" args -> IO [NDArrayHandle]-signsgd_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signsgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--signsgd_update_upd ::-                   forall args . Fullfilled "signsgd_update(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "signsgd_update(ndarray)" args -> IO ()-signsgd_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signsgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "signum_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("wd_lh", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mom", AttrOpt NDArrayHandle)]--signum_update ::-              forall args . Fullfilled "signum_update(ndarray)" args =>-                ArgsHMap "signum_update(ndarray)" args -> IO [NDArrayHandle]-signum_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("wd_lh",) . showValue <$> (args !? #wd_lh :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signum_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--signum_update_upd ::-                  forall args . Fullfilled "signum_update(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "signum_update(ndarray)" args -> IO ()-signum_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("wd_lh",) . showValue <$> (args !? #wd_lh :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signum_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sgd_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle)]--sgd_update ::-           forall args . Fullfilled "sgd_update(ndarray)" args =>-             ArgsHMap "sgd_update(ndarray)" args -> IO [NDArrayHandle]-sgd_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sgd_update_upd ::-               forall args . Fullfilled "sgd_update(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "sgd_update(ndarray)" args -> IO ()-sgd_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sgd_mom_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mom", AttrOpt NDArrayHandle)]--sgd_mom_update ::-               forall args . Fullfilled "sgd_mom_update(ndarray)" args =>-                 ArgsHMap "sgd_mom_update(ndarray)" args -> IO [NDArrayHandle]-sgd_mom_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sgd_mom_update_upd ::-                   forall args . Fullfilled "sgd_mom_update(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "sgd_mom_update(ndarray)" args -> IO ()-sgd_mom_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "mp_sgd_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle),-        '("weight32", AttrOpt NDArrayHandle)]--mp_sgd_update ::-              forall args . Fullfilled "mp_sgd_update(ndarray)" args =>-                ArgsHMap "mp_sgd_update(ndarray)" args -> IO [NDArrayHandle]-mp_sgd_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--mp_sgd_update_upd ::-                  forall args . Fullfilled "mp_sgd_update(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "mp_sgd_update(ndarray)" args -> IO ()-mp_sgd_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "mp_sgd_mom_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mom", AttrOpt NDArrayHandle),-        '("weight32", AttrOpt NDArrayHandle)]--mp_sgd_mom_update ::-                  forall args . Fullfilled "mp_sgd_mom_update(ndarray)" args =>-                    ArgsHMap "mp_sgd_mom_update(ndarray)" args -> IO [NDArrayHandle]-mp_sgd_mom_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--mp_sgd_mom_update_upd ::-                      forall args . Fullfilled "mp_sgd_mom_update(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "mp_sgd_mom_update(ndarray)" args -> IO ()-mp_sgd_mom_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ftml_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Double),-        '("t", AttrReq Int), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float), '("clip_grad", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("d", AttrOpt NDArrayHandle),-        '("v", AttrOpt NDArrayHandle), '("z", AttrOpt NDArrayHandle)]--ftml_update ::-            forall args . Fullfilled "ftml_update(ndarray)" args =>-              ArgsHMap "ftml_update(ndarray)" args -> IO [NDArrayHandle]-ftml_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Double),-               ("t",) . showValue <$> (args !? #t :: Maybe Int),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_grad",) . showValue <$> (args !? #clip_grad :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("d",) <$> (args !? #d :: Maybe NDArrayHandle),-               ("v",) <$> (args !? #v :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftml_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ftml_update_upd ::-                forall args . Fullfilled "ftml_update(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "ftml_update(ndarray)" args -> IO ()-ftml_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Double),-               ("t",) . showValue <$> (args !? #t :: Maybe Int),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_grad",) . showValue <$> (args !? #clip_grad :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("d",) <$> (args !? #d :: Maybe NDArrayHandle),-               ("v",) <$> (args !? #v :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftml_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "adam_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mean", AttrOpt NDArrayHandle),-        '("var", AttrOpt NDArrayHandle)]--adam_update ::-            forall args . Fullfilled "adam_update(ndarray)" args =>-              ArgsHMap "adam_update(ndarray)" args -> IO [NDArrayHandle]-adam_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mean",) <$> (args !? #mean :: Maybe NDArrayHandle),-               ("var",) <$> (args !? #var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "adam_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--adam_update_upd ::-                forall args . Fullfilled "adam_update(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "adam_update(ndarray)" args -> IO ()-adam_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mean",) <$> (args !? #mean :: Maybe NDArrayHandle),-               ("var",) <$> (args !? #var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "adam_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rmsprop_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("epsilon", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("n", AttrOpt NDArrayHandle)]--rmsprop_update ::-               forall args . Fullfilled "rmsprop_update(ndarray)" args =>-                 ArgsHMap "rmsprop_update(ndarray)" args -> IO [NDArrayHandle]-rmsprop_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmsprop_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rmsprop_update_upd ::-                   forall args . Fullfilled "rmsprop_update(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "rmsprop_update(ndarray)" args -> IO ()-rmsprop_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmsprop_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rmspropalex_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("gamma2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("n", AttrOpt NDArrayHandle),-        '("g", AttrOpt NDArrayHandle), '("delta", AttrOpt NDArrayHandle)]--rmspropalex_update ::-                   forall args . Fullfilled "rmspropalex_update(ndarray)" args =>-                     ArgsHMap "rmspropalex_update(ndarray)" args -> IO [NDArrayHandle]-rmspropalex_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("gamma2",) . showValue <$> (args !? #gamma2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle),-               ("g",) <$> (args !? #g :: Maybe NDArrayHandle),-               ("delta",) <$> (args !? #delta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmspropalex_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rmspropalex_update_upd ::-                       forall args . Fullfilled "rmspropalex_update(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "rmspropalex_update(ndarray)" args -> IO ()-rmspropalex_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("gamma2",) . showValue <$> (args !? #gamma2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle),-               ("g",) <$> (args !? #g :: Maybe NDArrayHandle),-               ("delta",) <$> (args !? #delta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmspropalex_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ftrl_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("lamda1", AttrOpt Float),-        '("beta", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("z", AttrOpt NDArrayHandle),-        '("n", AttrOpt NDArrayHandle)]--ftrl_update ::-            forall args . Fullfilled "ftrl_update(ndarray)" args =>-              ArgsHMap "ftrl_update(ndarray)" args -> IO [NDArrayHandle]-ftrl_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("lamda1",) . showValue <$> (args !? #lamda1 :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftrl_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ftrl_update_upd ::-                forall args . Fullfilled "ftrl_update(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "ftrl_update(ndarray)" args -> IO ()-ftrl_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("lamda1",) . showValue <$> (args !? #lamda1 :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftrl_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sparse_adagrad_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle),-        '("history", AttrOpt NDArrayHandle)]--_sparse_adagrad_update ::-                       forall args . Fullfilled "_sparse_adagrad_update(ndarray)" args =>-                         ArgsHMap "_sparse_adagrad_update(ndarray)" args ->-                           IO [NDArrayHandle]-_sparse_adagrad_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("history",) <$> (args !? #history :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_adagrad_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sparse_adagrad_update_upd ::-                           forall args . Fullfilled "_sparse_adagrad_update(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_sparse_adagrad_update(ndarray)" args -> IO ()-_sparse_adagrad_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("history",) <$> (args !? #history :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_adagrad_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LinearRegressionOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_LinearRegressionOutput ::-                        forall args . Fullfilled "_LinearRegressionOutput(ndarray)" args =>-                          ArgsHMap "_LinearRegressionOutput(ndarray)" args ->-                            IO [NDArrayHandle]-_LinearRegressionOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LinearRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LinearRegressionOutput_upd ::-                            forall args . Fullfilled "_LinearRegressionOutput(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_LinearRegressionOutput(ndarray)" args -> IO ()-_LinearRegressionOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LinearRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linear_reg_out(ndarray)" =-     '[]--_backward_linear_reg_out ::-                         forall args .-                           Fullfilled "_backward_linear_reg_out(ndarray)" args =>-                           ArgsHMap "_backward_linear_reg_out(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_linear_reg_out args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linear_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linear_reg_out_upd ::-                             forall args .-                               Fullfilled "_backward_linear_reg_out(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_linear_reg_out(ndarray)" args -> IO ()-_backward_linear_reg_out_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linear_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_MAERegressionOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_MAERegressionOutput ::-                     forall args . Fullfilled "_MAERegressionOutput(ndarray)" args =>-                       ArgsHMap "_MAERegressionOutput(ndarray)" args -> IO [NDArrayHandle]-_MAERegressionOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MAERegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_MAERegressionOutput_upd ::-                         forall args . Fullfilled "_MAERegressionOutput(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_MAERegressionOutput(ndarray)" args -> IO ()-_MAERegressionOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MAERegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mae_reg_out(ndarray)" = '[]--_backward_mae_reg_out ::-                      forall args . Fullfilled "_backward_mae_reg_out(ndarray)" args =>-                        ArgsHMap "_backward_mae_reg_out(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_mae_reg_out args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mae_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mae_reg_out_upd ::-                          forall args . Fullfilled "_backward_mae_reg_out(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_mae_reg_out(ndarray)" args -> IO ()-_backward_mae_reg_out_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mae_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LogisticRegressionOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_LogisticRegressionOutput ::-                          forall args .-                            Fullfilled "_LogisticRegressionOutput(ndarray)" args =>-                            ArgsHMap "_LogisticRegressionOutput(ndarray)" args ->-                              IO [NDArrayHandle]-_LogisticRegressionOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LogisticRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LogisticRegressionOutput_upd ::-                              forall args .-                                Fullfilled "_LogisticRegressionOutput(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_LogisticRegressionOutput(ndarray)" args -> IO ()-_LogisticRegressionOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LogisticRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_logistic_reg_out(ndarray)" =-     '[]--_backward_logistic_reg_out ::-                           forall args .-                             Fullfilled "_backward_logistic_reg_out(ndarray)" args =>-                             ArgsHMap "_backward_logistic_reg_out(ndarray)" args ->-                               IO [NDArrayHandle]-_backward_logistic_reg_out args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_logistic_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_logistic_reg_out_upd ::-                               forall args .-                                 Fullfilled "_backward_logistic_reg_out(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_backward_logistic_reg_out(ndarray)" args -> IO ()-_backward_logistic_reg_out_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_logistic_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CustomFunction(ndarray)" = '[]--_CustomFunction ::-                forall args . Fullfilled "_CustomFunction(ndarray)" args =>-                  ArgsHMap "_CustomFunction(ndarray)" args -> IO [NDArrayHandle]-_CustomFunction args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CustomFunction_upd ::-                    forall args . Fullfilled "_CustomFunction(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_CustomFunction(ndarray)" args -> IO ()-_CustomFunction_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_CustomFunction(ndarray)" =-     '[]--_backward_CustomFunction ::-                         forall args .-                           Fullfilled "_backward_CustomFunction(ndarray)" args =>-                           ArgsHMap "_backward_CustomFunction(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_CustomFunction args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_CustomFunction_upd ::-                             forall args .-                               Fullfilled "_backward_CustomFunction(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_CustomFunction(ndarray)" args -> IO ()-_backward_CustomFunction_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__Native(ndarray)" = '[]--_backward__Native ::-                  forall args . Fullfilled "_backward__Native(ndarray)" args =>-                    ArgsHMap "_backward__Native(ndarray)" args -> IO [NDArrayHandle]-_backward__Native args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__Native"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__Native_upd ::-                      forall args . Fullfilled "_backward__Native(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward__Native(ndarray)" args -> IO ()-_backward__Native_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__Native"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__NDArray(ndarray)" = '[]--_backward__NDArray ::-                   forall args . Fullfilled "_backward__NDArray(ndarray)" args =>-                     ArgsHMap "_backward__NDArray(ndarray)" args -> IO [NDArrayHandle]-_backward__NDArray args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__NDArray"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__NDArray_upd ::-                       forall args . Fullfilled "_backward__NDArray(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward__NDArray(ndarray)" args -> IO ()-_backward__NDArray_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__NDArray"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiBoxTarget(ndarray)" =-     '[ '("overlap_threshold", AttrOpt Float),-        '("ignore_label", AttrOpt Float),-        '("negative_mining_ratio", AttrOpt Float),-        '("negative_mining_thresh", AttrOpt Float),-        '("minimum_negative_samples", AttrOpt Int),-        '("variances", AttrOpt [Float]),-        '("anchor", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle),-        '("cls_pred", AttrOpt NDArrayHandle)]--_contrib_MultiBoxTarget ::-                        forall args . Fullfilled "_contrib_MultiBoxTarget(ndarray)" args =>-                          ArgsHMap "_contrib_MultiBoxTarget(ndarray)" args ->-                            IO [NDArrayHandle]-_contrib_MultiBoxTarget args-  = let scalarArgs-          = catMaybes-              [("overlap_threshold",) . showValue <$>-                 (args !? #overlap_threshold :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("negative_mining_ratio",) . showValue <$>-                 (args !? #negative_mining_ratio :: Maybe Float),-               ("negative_mining_thresh",) . showValue <$>-                 (args !? #negative_mining_thresh :: Maybe Float),-               ("minimum_negative_samples",) . showValue <$>-                 (args !? #minimum_negative_samples :: Maybe Int),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float])]-        tensorArgs-          = catMaybes-              [("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("cls_pred",) <$> (args !? #cls_pred :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiBoxTarget_upd ::-                            forall args . Fullfilled "_contrib_MultiBoxTarget(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_contrib_MultiBoxTarget(ndarray)" args -> IO ()-_contrib_MultiBoxTarget_upd outputs args-  = let scalarArgs-          = catMaybes-              [("overlap_threshold",) . showValue <$>-                 (args !? #overlap_threshold :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("negative_mining_ratio",) . showValue <$>-                 (args !? #negative_mining_ratio :: Maybe Float),-               ("negative_mining_thresh",) . showValue <$>-                 (args !? #negative_mining_thresh :: Maybe Float),-               ("minimum_negative_samples",) . showValue <$>-                 (args !? #minimum_negative_samples :: Maybe Int),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float])]-        tensorArgs-          = catMaybes-              [("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("cls_pred",) <$> (args !? #cls_pred :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiBoxTarget(ndarray)" = '[]--_backward__contrib_MultiBoxTarget ::-                                  forall args .-                                    Fullfilled "_backward__contrib_MultiBoxTarget(ndarray)" args =>-                                    ArgsHMap "_backward__contrib_MultiBoxTarget(ndarray)" args ->-                                      IO [NDArrayHandle]-_backward__contrib_MultiBoxTarget args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiBoxTarget_upd ::-                                      forall args .-                                        Fullfilled "_backward__contrib_MultiBoxTarget(ndarray)"-                                          args =>-                                        [NDArrayHandle] ->-                                          ArgsHMap "_backward__contrib_MultiBoxTarget(ndarray)" args-                                            -> IO ()-_backward__contrib_MultiBoxTarget_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_Proposal(ndarray)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt NDArrayHandle),-        '("bbox_pred", AttrOpt NDArrayHandle),-        '("im_info", AttrOpt NDArrayHandle)]--_contrib_Proposal ::-                  forall args . Fullfilled "_contrib_Proposal(ndarray)" args =>-                    ArgsHMap "_contrib_Proposal(ndarray)" args -> IO [NDArrayHandle]-_contrib_Proposal args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_Proposal_upd ::-                      forall args . Fullfilled "_contrib_Proposal(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_contrib_Proposal(ndarray)" args -> IO ()-_contrib_Proposal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_Proposal(ndarray)"-     = '[]--_backward__contrib_Proposal ::-                            forall args .-                              Fullfilled "_backward__contrib_Proposal(ndarray)" args =>-                              ArgsHMap "_backward__contrib_Proposal(ndarray)" args ->-                                IO [NDArrayHandle]-_backward__contrib_Proposal args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_Proposal_upd ::-                                forall args .-                                  Fullfilled "_backward__contrib_Proposal(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward__contrib_Proposal(ndarray)" args -> IO ()-_backward__contrib_Proposal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_count_sketch(ndarray)" =-     '[ '("out_dim", AttrReq Int),-        '("processing_batch_size", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle), '("h", AttrOpt NDArrayHandle),-        '("s", AttrOpt NDArrayHandle)]--_contrib_count_sketch ::-                      forall args . Fullfilled "_contrib_count_sketch(ndarray)" args =>-                        ArgsHMap "_contrib_count_sketch(ndarray)" args ->-                          IO [NDArrayHandle]-_contrib_count_sketch args-  = let scalarArgs-          = catMaybes-              [("out_dim",) . showValue <$> (args !? #out_dim :: Maybe Int),-               ("processing_batch_size",) . showValue <$>-                 (args !? #processing_batch_size :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("h",) <$> (args !? #h :: Maybe NDArrayHandle),-               ("s",) <$> (args !? #s :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_count_sketch_upd ::-                          forall args . Fullfilled "_contrib_count_sketch(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_contrib_count_sketch(ndarray)" args -> IO ()-_contrib_count_sketch_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_dim",) . showValue <$> (args !? #out_dim :: Maybe Int),-               ("processing_batch_size",) . showValue <$>-                 (args !? #processing_batch_size :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("h",) <$> (args !? #h :: Maybe NDArrayHandle),-               ("s",) <$> (args !? #s :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_count_sketch(ndarray)" = '[]--_backward__contrib_count_sketch ::-                                forall args .-                                  Fullfilled "_backward__contrib_count_sketch(ndarray)" args =>-                                  ArgsHMap "_backward__contrib_count_sketch(ndarray)" args ->-                                    IO [NDArrayHandle]-_backward__contrib_count_sketch args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_count_sketch_upd ::-                                    forall args .-                                      Fullfilled "_backward__contrib_count_sketch(ndarray)" args =>-                                      [NDArrayHandle] ->-                                        ArgsHMap "_backward__contrib_count_sketch(ndarray)" args ->-                                          IO ()-_backward__contrib_count_sketch_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiBoxDetection(ndarray)" =-     '[ '("clip", AttrOpt Bool), '("threshold", AttrOpt Float),-        '("background_id", AttrOpt Int), '("nms_threshold", AttrOpt Float),-        '("force_suppress", AttrOpt Bool), '("variances", AttrOpt [Float]),-        '("nms_topk", AttrOpt Int), '("cls_prob", AttrOpt NDArrayHandle),-        '("loc_pred", AttrOpt NDArrayHandle),-        '("anchor", AttrOpt NDArrayHandle)]--_contrib_MultiBoxDetection ::-                           forall args .-                             Fullfilled "_contrib_MultiBoxDetection(ndarray)" args =>-                             ArgsHMap "_contrib_MultiBoxDetection(ndarray)" args ->-                               IO [NDArrayHandle]-_contrib_MultiBoxDetection args-  = let scalarArgs-          = catMaybes-              [("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("nms_threshold",) . showValue <$>-                 (args !? #nms_threshold :: Maybe Float),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float]),-               ("nms_topk",) . showValue <$> (args !? #nms_topk :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("loc_pred",) <$> (args !? #loc_pred :: Maybe NDArrayHandle),-               ("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiBoxDetection_upd ::-                               forall args .-                                 Fullfilled "_contrib_MultiBoxDetection(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_contrib_MultiBoxDetection(ndarray)" args -> IO ()-_contrib_MultiBoxDetection_upd outputs args-  = let scalarArgs-          = catMaybes-              [("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("nms_threshold",) . showValue <$>-                 (args !? #nms_threshold :: Maybe Float),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float]),-               ("nms_topk",) . showValue <$> (args !? #nms_topk :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("loc_pred",) <$> (args !? #loc_pred :: Maybe NDArrayHandle),-               ("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiBoxDetection(ndarray)" = '[]--_backward__contrib_MultiBoxDetection ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiBoxDetection(ndarray)"-                                         args =>-                                       ArgsHMap "_backward__contrib_MultiBoxDetection(ndarray)" args-                                         -> IO [NDArrayHandle]-_backward__contrib_MultiBoxDetection args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiBoxDetection_upd ::-                                         forall args .-                                           Fullfilled-                                             "_backward__contrib_MultiBoxDetection(ndarray)" args =>-                                           [NDArrayHandle] ->-                                             ArgsHMap-                                               "_backward__contrib_MultiBoxDetection(ndarray)"-                                               args-                                               -> IO ()-_backward__contrib_MultiBoxDetection_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_DeformablePSROIPooling(ndarray)"-     = '[]--_backward__contrib_DeformablePSROIPooling ::-                                          forall args .-                                            Fullfilled-                                              "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                              args =>-                                            ArgsHMap-                                              "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                              args-                                              -> IO [NDArrayHandle]-_backward__contrib_DeformablePSROIPooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformablePSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_DeformablePSROIPooling_upd ::-                                              forall args .-                                                Fullfilled-                                                  "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                                  args =>-                                                [NDArrayHandle] ->-                                                  ArgsHMap-                                                    "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                                    args-                                                    -> IO ()-_backward__contrib_DeformablePSROIPooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformablePSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_CTCLoss(ndarray)" =-     '[]--_backward__contrib_CTCLoss ::-                           forall args .-                             Fullfilled "_backward__contrib_CTCLoss(ndarray)" args =>-                             ArgsHMap "_backward__contrib_CTCLoss(ndarray)" args ->-                               IO [NDArrayHandle]-_backward__contrib_CTCLoss args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_CTCLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_CTCLoss_upd ::-                               forall args .-                                 Fullfilled "_backward__contrib_CTCLoss(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_backward__contrib_CTCLoss(ndarray)" args -> IO ()-_backward__contrib_CTCLoss_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_CTCLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiProposal(ndarray)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt NDArrayHandle),-        '("bbox_pred", AttrOpt NDArrayHandle),-        '("im_info", AttrOpt NDArrayHandle)]--_contrib_MultiProposal ::-                       forall args . Fullfilled "_contrib_MultiProposal(ndarray)" args =>-                         ArgsHMap "_contrib_MultiProposal(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_MultiProposal args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiProposal_upd ::-                           forall args . Fullfilled "_contrib_MultiProposal(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_MultiProposal(ndarray)" args -> IO ()-_contrib_MultiProposal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiProposal(ndarray)" = '[]--_backward__contrib_MultiProposal ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiProposal(ndarray)" args =>-                                   ArgsHMap "_backward__contrib_MultiProposal(ndarray)" args ->-                                     IO [NDArrayHandle]-_backward__contrib_MultiProposal args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiProposal_upd ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiProposal(ndarray)"-                                         args =>-                                       [NDArrayHandle] ->-                                         ArgsHMap "_backward__contrib_MultiProposal(ndarray)" args-                                           -> IO ()-_backward__contrib_MultiProposal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiBoxPrior(ndarray)" =-     '[ '("sizes", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("clip", AttrOpt Bool), '("steps", AttrOpt [Float]),-        '("offsets", AttrOpt [Float]), '("data", AttrOpt NDArrayHandle)]--_contrib_MultiBoxPrior ::-                       forall args . Fullfilled "_contrib_MultiBoxPrior(ndarray)" args =>-                         ArgsHMap "_contrib_MultiBoxPrior(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_MultiBoxPrior args-  = let scalarArgs-          = catMaybes-              [("sizes",) . showValue <$> (args !? #sizes :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("steps",) . showValue <$> (args !? #steps :: Maybe [Float]),-               ("offsets",) . showValue <$> (args !? #offsets :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiBoxPrior_upd ::-                           forall args . Fullfilled "_contrib_MultiBoxPrior(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_MultiBoxPrior(ndarray)" args -> IO ()-_contrib_MultiBoxPrior_upd outputs args-  = let scalarArgs-          = catMaybes-              [("sizes",) . showValue <$> (args !? #sizes :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("steps",) . showValue <$> (args !? #steps :: Maybe [Float]),-               ("offsets",) . showValue <$> (args !? #offsets :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiBoxPrior(ndarray)" = '[]--_backward__contrib_MultiBoxPrior ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiBoxPrior(ndarray)" args =>-                                   ArgsHMap "_backward__contrib_MultiBoxPrior(ndarray)" args ->-                                     IO [NDArrayHandle]-_backward__contrib_MultiBoxPrior args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiBoxPrior_upd ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiBoxPrior(ndarray)"-                                         args =>-                                       [NDArrayHandle] ->-                                         ArgsHMap "_backward__contrib_MultiBoxPrior(ndarray)" args-                                           -> IO ()-_backward__contrib_MultiBoxPrior_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_fft(ndarray)" =-     '[ '("compute_size", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle)]--_contrib_fft ::-             forall args . Fullfilled "_contrib_fft(ndarray)" args =>-               ArgsHMap "_contrib_fft(ndarray)" args -> IO [NDArrayHandle]-_contrib_fft args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_fft_upd ::-                 forall args . Fullfilled "_contrib_fft(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_contrib_fft(ndarray)" args -> IO ()-_contrib_fft_upd outputs args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_fft(ndarray)" = '[]--_backward__contrib_fft ::-                       forall args . Fullfilled "_backward__contrib_fft(ndarray)" args =>-                         ArgsHMap "_backward__contrib_fft(ndarray)" args ->-                           IO [NDArrayHandle]-_backward__contrib_fft args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_fft_upd ::-                           forall args . Fullfilled "_backward__contrib_fft(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward__contrib_fft(ndarray)" args -> IO ()-_backward__contrib_fft_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_PSROIPooling(ndarray)" = '[]--_backward__contrib_PSROIPooling ::-                                forall args .-                                  Fullfilled "_backward__contrib_PSROIPooling(ndarray)" args =>-                                  ArgsHMap "_backward__contrib_PSROIPooling(ndarray)" args ->-                                    IO [NDArrayHandle]-_backward__contrib_PSROIPooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_PSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_PSROIPooling_upd ::-                                    forall args .-                                      Fullfilled "_backward__contrib_PSROIPooling(ndarray)" args =>-                                      [NDArrayHandle] ->-                                        ArgsHMap "_backward__contrib_PSROIPooling(ndarray)" args ->-                                          IO ()-_backward__contrib_PSROIPooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_PSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_DeformableConvolution(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("num_deformable_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("layout", AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NCW"]))),-        '("data", AttrOpt NDArrayHandle),-        '("offset", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_contrib_DeformableConvolution ::-                               forall args .-                                 Fullfilled "_contrib_DeformableConvolution(ndarray)" args =>-                                 ArgsHMap "_contrib_DeformableConvolution(ndarray)" args ->-                                   IO [NDArrayHandle]-_contrib_DeformableConvolution args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("num_deformable_group",) . showValue <$>-                 (args !? #num_deformable_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NCW"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("offset",) <$> (args !? #offset :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_DeformableConvolution_upd ::-                                   forall args .-                                     Fullfilled "_contrib_DeformableConvolution(ndarray)" args =>-                                     [NDArrayHandle] ->-                                       ArgsHMap "_contrib_DeformableConvolution(ndarray)" args ->-                                         IO ()-_contrib_DeformableConvolution_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("num_deformable_group",) . showValue <$>-                 (args !? #num_deformable_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NCW"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("offset",) <$> (args !? #offset :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_DeformableConvolution(ndarray)" =-     '[]--_backward__contrib_DeformableConvolution ::-                                         forall args .-                                           Fullfilled-                                             "_backward__contrib_DeformableConvolution(ndarray)"-                                             args =>-                                           ArgsHMap-                                             "_backward__contrib_DeformableConvolution(ndarray)"-                                             args-                                             -> IO [NDArrayHandle]-_backward__contrib_DeformableConvolution args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_DeformableConvolution_upd ::-                                             forall args .-                                               Fullfilled-                                                 "_backward__contrib_DeformableConvolution(ndarray)"-                                                 args =>-                                               [NDArrayHandle] ->-                                                 ArgsHMap-                                                   "_backward__contrib_DeformableConvolution(ndarray)"-                                                   args-                                                   -> IO ()-_backward__contrib_DeformableConvolution_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_ifft(ndarray)" =-     '[ '("compute_size", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle)]--_contrib_ifft ::-              forall args . Fullfilled "_contrib_ifft(ndarray)" args =>-                ArgsHMap "_contrib_ifft(ndarray)" args -> IO [NDArrayHandle]-_contrib_ifft args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_ifft_upd ::-                  forall args . Fullfilled "_contrib_ifft(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_contrib_ifft(ndarray)" args -> IO ()-_contrib_ifft_upd outputs args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_ifft(ndarray)" =-     '[]--_backward__contrib_ifft ::-                        forall args . Fullfilled "_backward__contrib_ifft(ndarray)" args =>-                          ArgsHMap "_backward__contrib_ifft(ndarray)" args ->-                            IO [NDArrayHandle]-_backward__contrib_ifft args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_ifft_upd ::-                            forall args . Fullfilled "_backward__contrib_ifft(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward__contrib_ifft(ndarray)" args -> IO ()-_backward__contrib_ifft_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_SyncBatchNorm(ndarray)" = '[]--_backward__contrib_SyncBatchNorm ::-                                 forall args .-                                   Fullfilled "_backward__contrib_SyncBatchNorm(ndarray)" args =>-                                   ArgsHMap "_backward__contrib_SyncBatchNorm(ndarray)" args ->-                                     IO [NDArrayHandle]-_backward__contrib_SyncBatchNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_SyncBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_SyncBatchNorm_upd ::-                                     forall args .-                                       Fullfilled "_backward__contrib_SyncBatchNorm(ndarray)"-                                         args =>-                                       [NDArrayHandle] ->-                                         ArgsHMap "_backward__contrib_SyncBatchNorm(ndarray)" args-                                           -> IO ()-_backward__contrib_SyncBatchNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_SyncBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_InstanceNorm(ndarray)" =-     '[ '("eps", AttrOpt Float), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_InstanceNorm ::-              forall args . Fullfilled "_InstanceNorm(ndarray)" args =>-                ArgsHMap "_InstanceNorm(ndarray)" args -> IO [NDArrayHandle]-_InstanceNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_InstanceNorm_upd ::-                  forall args . Fullfilled "_InstanceNorm(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_InstanceNorm(ndarray)" args -> IO ()-_InstanceNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_InstanceNorm(ndarray)" = '[]--_backward_InstanceNorm ::-                       forall args . Fullfilled "_backward_InstanceNorm(ndarray)" args =>-                         ArgsHMap "_backward_InstanceNorm(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_InstanceNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_InstanceNorm_upd ::-                           forall args . Fullfilled "_backward_InstanceNorm(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_InstanceNorm(ndarray)" args -> IO ()-_backward_InstanceNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SVMOutput(ndarray)" =-     '[ '("margin", AttrOpt Float),-        '("regularization_coefficient", AttrOpt Float),-        '("use_linear", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_SVMOutput ::-           forall args . Fullfilled "_SVMOutput(ndarray)" args =>-             ArgsHMap "_SVMOutput(ndarray)" args -> IO [NDArrayHandle]-_SVMOutput args-  = let scalarArgs-          = catMaybes-              [("margin",) . showValue <$> (args !? #margin :: Maybe Float),-               ("regularization_coefficient",) . showValue <$>-                 (args !? #regularization_coefficient :: Maybe Float),-               ("use_linear",) . showValue <$>-                 (args !? #use_linear :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SVMOutput_upd ::-               forall args . Fullfilled "_SVMOutput(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_SVMOutput(ndarray)" args -> IO ()-_SVMOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("margin",) . showValue <$> (args !? #margin :: Maybe Float),-               ("regularization_coefficient",) . showValue <$>-                 (args !? #regularization_coefficient :: Maybe Float),-               ("use_linear",) . showValue <$>-                 (args !? #use_linear :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SVMOutput(ndarray)" = '[]--_backward_SVMOutput ::-                    forall args . Fullfilled "_backward_SVMOutput(ndarray)" args =>-                      ArgsHMap "_backward_SVMOutput(ndarray)" args -> IO [NDArrayHandle]-_backward_SVMOutput args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SVMOutput_upd ::-                        forall args . Fullfilled "_backward_SVMOutput(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_SVMOutput(ndarray)" args -> IO ()-_backward_SVMOutput_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_GridGenerator(ndarray)" =-     '[ '("transform_type", AttrReq (EnumType '["affine", "warp"])),-        '("target_shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--_GridGenerator ::-               forall args . Fullfilled "_GridGenerator(ndarray)" args =>-                 ArgsHMap "_GridGenerator(ndarray)" args -> IO [NDArrayHandle]-_GridGenerator args-  = let scalarArgs-          = catMaybes-              [("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine", "warp"])),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_GridGenerator_upd ::-                   forall args . Fullfilled "_GridGenerator(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_GridGenerator(ndarray)" args -> IO ()-_GridGenerator_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine", "warp"])),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_GridGenerator(ndarray)" =-     '[]--_backward_GridGenerator ::-                        forall args . Fullfilled "_backward_GridGenerator(ndarray)" args =>-                          ArgsHMap "_backward_GridGenerator(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_GridGenerator args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_GridGenerator_upd ::-                            forall args . Fullfilled "_backward_GridGenerator(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_GridGenerator(ndarray)" args -> IO ()-_backward_GridGenerator_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Pad(ndarray)" = '[]--_backward_Pad ::-              forall args . Fullfilled "_backward_Pad(ndarray)" args =>-                ArgsHMap "_backward_Pad(ndarray)" args -> IO [NDArrayHandle]-_backward_Pad args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Pad_upd ::-                  forall args . Fullfilled "_backward_Pad(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_Pad(ndarray)" args -> IO ()-_backward_Pad_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Convolution_v1(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_Convolution_v1 ::-                forall args . Fullfilled "_Convolution_v1(ndarray)" args =>-                  ArgsHMap "_Convolution_v1(ndarray)" args -> IO [NDArrayHandle]-_Convolution_v1 args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Convolution_v1_upd ::-                    forall args . Fullfilled "_Convolution_v1(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_Convolution_v1(ndarray)" args -> IO ()-_Convolution_v1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Convolution_v1(ndarray)" =-     '[]--_backward_Convolution_v1 ::-                         forall args .-                           Fullfilled "_backward_Convolution_v1(ndarray)" args =>-                           ArgsHMap "_backward_Convolution_v1(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_Convolution_v1 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Convolution_v1_upd ::-                             forall args .-                               Fullfilled "_backward_Convolution_v1(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_Convolution_v1(ndarray)" args -> IO ()-_backward_Convolution_v1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SequenceReverse(ndarray)" =-     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle),-        '("sequence_length", AttrOpt NDArrayHandle)]--_SequenceReverse ::-                 forall args . Fullfilled "_SequenceReverse(ndarray)" args =>-                   ArgsHMap "_SequenceReverse(ndarray)" args -> IO [NDArrayHandle]-_SequenceReverse args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SequenceReverse_upd ::-                     forall args . Fullfilled "_SequenceReverse(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_SequenceReverse(ndarray)" args -> IO ()-_SequenceReverse_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SequenceReverse(ndarray)" =-     '[]--_backward_SequenceReverse ::-                          forall args .-                            Fullfilled "_backward_SequenceReverse(ndarray)" args =>-                            ArgsHMap "_backward_SequenceReverse(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_SequenceReverse args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SequenceReverse_upd ::-                              forall args .-                                Fullfilled "_backward_SequenceReverse(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_SequenceReverse(ndarray)" args -> IO ()-_backward_SequenceReverse_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SoftmaxOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_SoftmaxOutput ::-               forall args . Fullfilled "_SoftmaxOutput(ndarray)" args =>-                 ArgsHMap "_SoftmaxOutput(ndarray)" args -> IO [NDArrayHandle]-_SoftmaxOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SoftmaxOutput_upd ::-                   forall args . Fullfilled "_SoftmaxOutput(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_SoftmaxOutput(ndarray)" args -> IO ()-_SoftmaxOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SoftmaxOutput(ndarray)" =-     '[]--_backward_SoftmaxOutput ::-                        forall args . Fullfilled "_backward_SoftmaxOutput(ndarray)" args =>-                          ArgsHMap "_backward_SoftmaxOutput(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_SoftmaxOutput args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SoftmaxOutput_upd ::-                            forall args . Fullfilled "_backward_SoftmaxOutput(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_SoftmaxOutput(ndarray)" args -> IO ()-_backward_SoftmaxOutput_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Softmax(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_Softmax ::-         forall args . Fullfilled "_Softmax(ndarray)" args =>-           ArgsHMap "_Softmax(ndarray)" args -> IO [NDArrayHandle]-_Softmax args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Softmax_upd ::-             forall args . Fullfilled "_Softmax(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Softmax(ndarray)" args -> IO ()-_Softmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Softmax(ndarray)" = '[]--_backward_Softmax ::-                  forall args . Fullfilled "_backward_Softmax(ndarray)" args =>-                    ArgsHMap "_backward_Softmax(ndarray)" args -> IO [NDArrayHandle]-_backward_Softmax args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Softmax_upd ::-                      forall args . Fullfilled "_backward_Softmax(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_Softmax(ndarray)" args -> IO ()-_backward_Softmax_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BilinearSampler(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("grid", AttrOpt NDArrayHandle)]--_BilinearSampler ::-                 forall args . Fullfilled "_BilinearSampler(ndarray)" args =>-                   ArgsHMap "_BilinearSampler(ndarray)" args -> IO [NDArrayHandle]-_BilinearSampler args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("grid",) <$> (args !? #grid :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BilinearSampler_upd ::-                     forall args . Fullfilled "_BilinearSampler(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_BilinearSampler(ndarray)" args -> IO ()-_BilinearSampler_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("grid",) <$> (args !? #grid :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_BilinearSampler(ndarray)" =-     '[]--_backward_BilinearSampler ::-                          forall args .-                            Fullfilled "_backward_BilinearSampler(ndarray)" args =>-                            ArgsHMap "_backward_BilinearSampler(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_BilinearSampler args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_BilinearSampler_upd ::-                              forall args .-                                Fullfilled "_backward_BilinearSampler(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_BilinearSampler(ndarray)" args -> IO ()-_backward_BilinearSampler_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_LeakyReLU(ndarray)" = '[]--_backward_LeakyReLU ::-                    forall args . Fullfilled "_backward_LeakyReLU(ndarray)" args =>-                      ArgsHMap "_backward_LeakyReLU(ndarray)" args -> IO [NDArrayHandle]-_backward_LeakyReLU args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_LeakyReLU_upd ::-                        forall args . Fullfilled "_backward_LeakyReLU(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_LeakyReLU(ndarray)" args -> IO ()-_backward_LeakyReLU_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Crop(ndarray)" =-     '[ '("num_args", AttrReq Int), '("offset", AttrOpt [Int]),-        '("h_w", AttrOpt [Int]), '("center_crop", AttrOpt Bool),-        '("data", AttrOpt [NDArrayHandle])]--_Crop ::-      forall args . Fullfilled "_Crop(ndarray)" args =>-        ArgsHMap "_Crop(ndarray)" args -> IO [NDArrayHandle]-_Crop args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("offset",) . showValue <$> (args !? #offset :: Maybe [Int]),-               ("h_w",) . showValue <$> (args !? #h_w :: Maybe [Int]),-               ("center_crop",) . showValue <$>-                 (args !? #center_crop :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Crop"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_Crop_upd ::-          forall args . Fullfilled "_Crop(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_Crop(ndarray)" args -> IO ()-_Crop_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("offset",) . showValue <$> (args !? #offset :: Maybe [Int]),-               ("h_w",) . showValue <$> (args !? #h_w :: Maybe [Int]),-               ("center_crop",) . showValue <$>-                 (args !? #center_crop :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Crop"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Crop(ndarray)" = '[]--_backward_Crop ::-               forall args . Fullfilled "_backward_Crop(ndarray)" args =>-                 ArgsHMap "_backward_Crop(ndarray)" args -> IO [NDArrayHandle]-_backward_Crop args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Crop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Crop_upd ::-                   forall args . Fullfilled "_backward_Crop(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_Crop(ndarray)" args -> IO ()-_backward_Crop_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Crop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_ROIPooling(ndarray)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float),-        '("data", AttrOpt NDArrayHandle), '("rois", AttrOpt NDArrayHandle)]--_ROIPooling ::-            forall args . Fullfilled "_ROIPooling(ndarray)" args =>-              ArgsHMap "_ROIPooling(ndarray)" args -> IO [NDArrayHandle]-_ROIPooling args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_ROIPooling_upd ::-                forall args . Fullfilled "_ROIPooling(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_ROIPooling(ndarray)" args -> IO ()-_ROIPooling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_ROIPooling(ndarray)" = '[]--_backward_ROIPooling ::-                     forall args . Fullfilled "_backward_ROIPooling(ndarray)" args =>-                       ArgsHMap "_backward_ROIPooling(ndarray)" args -> IO [NDArrayHandle]-_backward_ROIPooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_ROIPooling_upd ::-                         forall args . Fullfilled "_backward_ROIPooling(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_ROIPooling(ndarray)" args -> IO ()-_backward_ROIPooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SequenceLast(ndarray)" =-     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle),-        '("sequence_length", AttrOpt NDArrayHandle)]--_SequenceLast ::-              forall args . Fullfilled "_SequenceLast(ndarray)" args =>-                ArgsHMap "_SequenceLast(ndarray)" args -> IO [NDArrayHandle]-_SequenceLast args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SequenceLast_upd ::-                  forall args . Fullfilled "_SequenceLast(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_SequenceLast(ndarray)" args -> IO ()-_SequenceLast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SequenceLast(ndarray)" = '[]--_backward_SequenceLast ::-                       forall args . Fullfilled "_backward_SequenceLast(ndarray)" args =>-                         ArgsHMap "_backward_SequenceLast(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_SequenceLast args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SequenceLast_upd ::-                           forall args . Fullfilled "_backward_SequenceLast(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_SequenceLast(ndarray)" args -> IO ()-_backward_SequenceLast_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CrossDeviceCopy(ndarray)" = '[]--_CrossDeviceCopy ::-                 forall args . Fullfilled "_CrossDeviceCopy(ndarray)" args =>-                   ArgsHMap "_CrossDeviceCopy(ndarray)" args -> IO [NDArrayHandle]-_CrossDeviceCopy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CrossDeviceCopy_upd ::-                     forall args . Fullfilled "_CrossDeviceCopy(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_CrossDeviceCopy(ndarray)" args -> IO ()-_CrossDeviceCopy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__CrossDeviceCopy(ndarray)" =-     '[]--_backward__CrossDeviceCopy ::-                           forall args .-                             Fullfilled "_backward__CrossDeviceCopy(ndarray)" args =>-                             ArgsHMap "_backward__CrossDeviceCopy(ndarray)" args ->-                               IO [NDArrayHandle]-_backward__CrossDeviceCopy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__CrossDeviceCopy_upd ::-                               forall args .-                                 Fullfilled "_backward__CrossDeviceCopy(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_backward__CrossDeviceCopy(ndarray)" args -> IO ()-_backward__CrossDeviceCopy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SpatialTransformer(ndarray)" =-     '[ '("target_shape", AttrOpt [Int]),-        '("transform_type", AttrReq (EnumType '["affine"])),-        '("sampler_type", AttrReq (EnumType '["bilinear"])),-        '("data", AttrOpt NDArrayHandle), '("loc", AttrOpt NDArrayHandle)]--_SpatialTransformer ::-                    forall args . Fullfilled "_SpatialTransformer(ndarray)" args =>-                      ArgsHMap "_SpatialTransformer(ndarray)" args -> IO [NDArrayHandle]-_SpatialTransformer args-  = let scalarArgs-          = catMaybes-              [("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine"])),-               ("sampler_type",) . showValue <$>-                 (args !? #sampler_type :: Maybe (EnumType '["bilinear"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("loc",) <$> (args !? #loc :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SpatialTransformer_upd ::-                        forall args . Fullfilled "_SpatialTransformer(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_SpatialTransformer(ndarray)" args -> IO ()-_SpatialTransformer_upd outputs args-  = let scalarArgs-          = catMaybes-              [("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine"])),-               ("sampler_type",) . showValue <$>-                 (args !? #sampler_type :: Maybe (EnumType '["bilinear"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("loc",) <$> (args !? #loc :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SpatialTransformer(ndarray)"-     = '[]--_backward_SpatialTransformer ::-                             forall args .-                               Fullfilled "_backward_SpatialTransformer(ndarray)" args =>-                               ArgsHMap "_backward_SpatialTransformer(ndarray)" args ->-                                 IO [NDArrayHandle]-_backward_SpatialTransformer args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SpatialTransformer_upd ::-                                 forall args .-                                   Fullfilled "_backward_SpatialTransformer(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_backward_SpatialTransformer(ndarray)" args -> IO ()-_backward_SpatialTransformer_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SwapAxis(ndarray)" = '[]--_backward_SwapAxis ::-                   forall args . Fullfilled "_backward_SwapAxis(ndarray)" args =>-                     ArgsHMap "_backward_SwapAxis(ndarray)" args -> IO [NDArrayHandle]-_backward_SwapAxis args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SwapAxis_upd ::-                       forall args . Fullfilled "_backward_SwapAxis(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_SwapAxis(ndarray)" args -> IO ()-_backward_SwapAxis_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_L2Normalization(ndarray)" =-     '[ '("eps", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["channel", "instance", "spatial"])),-        '("data", AttrOpt NDArrayHandle)]--_L2Normalization ::-                 forall args . Fullfilled "_L2Normalization(ndarray)" args =>-                   ArgsHMap "_L2Normalization(ndarray)" args -> IO [NDArrayHandle]-_L2Normalization args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["channel", "instance", "spatial"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_L2Normalization_upd ::-                     forall args . Fullfilled "_L2Normalization(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_L2Normalization(ndarray)" args -> IO ()-_L2Normalization_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["channel", "instance", "spatial"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_L2Normalization(ndarray)" =-     '[]--_backward_L2Normalization ::-                          forall args .-                            Fullfilled "_backward_L2Normalization(ndarray)" args =>-                            ArgsHMap "_backward_L2Normalization(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_L2Normalization args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_L2Normalization_upd ::-                              forall args .-                                Fullfilled "_backward_L2Normalization(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_L2Normalization(ndarray)" args -> IO ()-_backward_L2Normalization_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Correlation(ndarray)" =-     '[ '("kernel_size", AttrOpt Int),-        '("max_displacement", AttrOpt Int), '("stride1", AttrOpt Int),-        '("stride2", AttrOpt Int), '("pad_size", AttrOpt Int),-        '("is_multiply", AttrOpt Bool), '("data1", AttrOpt NDArrayHandle),-        '("data2", AttrOpt NDArrayHandle)]--_Correlation ::-             forall args . Fullfilled "_Correlation(ndarray)" args =>-               ArgsHMap "_Correlation(ndarray)" args -> IO [NDArrayHandle]-_Correlation args-  = let scalarArgs-          = catMaybes-              [("kernel_size",) . showValue <$>-                 (args !? #kernel_size :: Maybe Int),-               ("max_displacement",) . showValue <$>-                 (args !? #max_displacement :: Maybe Int),-               ("stride1",) . showValue <$> (args !? #stride1 :: Maybe Int),-               ("stride2",) . showValue <$> (args !? #stride2 :: Maybe Int),-               ("pad_size",) . showValue <$> (args !? #pad_size :: Maybe Int),-               ("is_multiply",) . showValue <$>-                 (args !? #is_multiply :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data1",) <$> (args !? #data1 :: Maybe NDArrayHandle),-               ("data2",) <$> (args !? #data2 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Correlation_upd ::-                 forall args . Fullfilled "_Correlation(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_Correlation(ndarray)" args -> IO ()-_Correlation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel_size",) . showValue <$>-                 (args !? #kernel_size :: Maybe Int),-               ("max_displacement",) . showValue <$>-                 (args !? #max_displacement :: Maybe Int),-               ("stride1",) . showValue <$> (args !? #stride1 :: Maybe Int),-               ("stride2",) . showValue <$> (args !? #stride2 :: Maybe Int),-               ("pad_size",) . showValue <$> (args !? #pad_size :: Maybe Int),-               ("is_multiply",) . showValue <$>-                 (args !? #is_multiply :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data1",) <$> (args !? #data1 :: Maybe NDArrayHandle),-               ("data2",) <$> (args !? #data2 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Correlation(ndarray)" = '[]--_backward_Correlation ::-                      forall args . Fullfilled "_backward_Correlation(ndarray)" args =>-                        ArgsHMap "_backward_Correlation(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_Correlation args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Correlation_upd ::-                          forall args . Fullfilled "_backward_Correlation(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_Correlation(ndarray)" args -> IO ()-_backward_Correlation_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_IdentityAttachKLSparseReg(ndarray)" = '[]--_backward_IdentityAttachKLSparseReg ::-                                    forall args .-                                      Fullfilled "_backward_IdentityAttachKLSparseReg(ndarray)"-                                        args =>-                                      ArgsHMap "_backward_IdentityAttachKLSparseReg(ndarray)" args-                                        -> IO [NDArrayHandle]-_backward_IdentityAttachKLSparseReg args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_IdentityAttachKLSparseReg_upd ::-                                        forall args .-                                          Fullfilled "_backward_IdentityAttachKLSparseReg(ndarray)"-                                            args =>-                                          [NDArrayHandle] ->-                                            ArgsHMap "_backward_IdentityAttachKLSparseReg(ndarray)"-                                              args-                                              -> IO ()-_backward_IdentityAttachKLSparseReg_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_MakeLoss(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("valid_thresh", AttrOpt Float),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("data", AttrOpt NDArrayHandle)]--_MakeLoss ::-          forall args . Fullfilled "_MakeLoss(ndarray)" args =>-            ArgsHMap "_MakeLoss(ndarray)" args -> IO [NDArrayHandle]-_MakeLoss args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_MakeLoss_upd ::-              forall args . Fullfilled "_MakeLoss(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_MakeLoss(ndarray)" args -> IO ()-_MakeLoss_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_MakeLoss(ndarray)" = '[]--_backward_MakeLoss ::-                   forall args . Fullfilled "_backward_MakeLoss(ndarray)" args =>-                     ArgsHMap "_backward_MakeLoss(ndarray)" args -> IO [NDArrayHandle]-_backward_MakeLoss args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_MakeLoss_upd ::-                       forall args . Fullfilled "_backward_MakeLoss(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_MakeLoss(ndarray)" args -> IO ()-_backward_MakeLoss_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SliceChannel(ndarray)" = '[]--_backward_SliceChannel ::-                       forall args . Fullfilled "_backward_SliceChannel(ndarray)" args =>-                         ArgsHMap "_backward_SliceChannel(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_SliceChannel args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SliceChannel_upd ::-                           forall args . Fullfilled "_backward_SliceChannel(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_SliceChannel(ndarray)" args -> IO ()-_backward_SliceChannel_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_RNN(ndarray)" =-     '[ '("state_size", AttrReq Int), '("num_layers", AttrReq Int),-        '("bidirectional", AttrOpt Bool),-        '("mode",-          AttrReq (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-        '("p", AttrOpt Float), '("state_outputs", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("parameters", AttrOpt NDArrayHandle),-        '("state", AttrOpt NDArrayHandle),-        '("state_cell", AttrOpt NDArrayHandle)]--_RNN ::-     forall args . Fullfilled "_RNN(ndarray)" args =>-       ArgsHMap "_RNN(ndarray)" args -> IO [NDArrayHandle]-_RNN args-  = let scalarArgs-          = catMaybes-              [("state_size",) . showValue <$>-                 (args !? #state_size :: Maybe Int),-               ("num_layers",) . showValue <$> (args !? #num_layers :: Maybe Int),-               ("bidirectional",) . showValue <$>-                 (args !? #bidirectional :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("state_outputs",) . showValue <$>-                 (args !? #state_outputs :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("parameters",) <$> (args !? #parameters :: Maybe NDArrayHandle),-               ("state",) <$> (args !? #state :: Maybe NDArrayHandle),-               ("state_cell",) <$> (args !? #state_cell :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_RNN_upd ::-         forall args . Fullfilled "_RNN(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_RNN(ndarray)" args -> IO ()-_RNN_upd outputs args-  = let scalarArgs-          = catMaybes-              [("state_size",) . showValue <$>-                 (args !? #state_size :: Maybe Int),-               ("num_layers",) . showValue <$> (args !? #num_layers :: Maybe Int),-               ("bidirectional",) . showValue <$>-                 (args !? #bidirectional :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("state_outputs",) . showValue <$>-                 (args !? #state_outputs :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("parameters",) <$> (args !? #parameters :: Maybe NDArrayHandle),-               ("state",) <$> (args !? #state :: Maybe NDArrayHandle),-               ("state_cell",) <$> (args !? #state_cell :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_RNN(ndarray)" = '[]--_backward_RNN ::-              forall args . Fullfilled "_backward_RNN(ndarray)" args =>-                ArgsHMap "_backward_RNN(ndarray)" args -> IO [NDArrayHandle]-_backward_RNN args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_RNN_upd ::-                  forall args . Fullfilled "_backward_RNN(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_RNN(ndarray)" args -> IO ()-_backward_RNN_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Pooling_v1(ndarray)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "max", "sum"])),-        '("global_pool", AttrOpt Bool),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--_Pooling_v1 ::-            forall args . Fullfilled "_Pooling_v1(ndarray)" args =>-              ArgsHMap "_Pooling_v1(ndarray)" args -> IO [NDArrayHandle]-_Pooling_v1 args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Pooling_v1_upd ::-                forall args . Fullfilled "_Pooling_v1(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_Pooling_v1(ndarray)" args -> IO ()-_Pooling_v1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Pooling_v1(ndarray)" = '[]--_backward_Pooling_v1 ::-                     forall args . Fullfilled "_backward_Pooling_v1(ndarray)" args =>-                       ArgsHMap "_backward_Pooling_v1(ndarray)" args -> IO [NDArrayHandle]-_backward_Pooling_v1 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Pooling_v1_upd ::-                         forall args . Fullfilled "_backward_Pooling_v1(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_Pooling_v1(ndarray)" args -> IO ()-_backward_Pooling_v1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_BatchNorm_v1(ndarray)" = '[]--_backward_BatchNorm_v1 ::-                       forall args . Fullfilled "_backward_BatchNorm_v1(ndarray)" args =>-                         ArgsHMap "_backward_BatchNorm_v1(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_BatchNorm_v1 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_BatchNorm_v1_upd ::-                           forall args . Fullfilled "_backward_BatchNorm_v1(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_BatchNorm_v1(ndarray)" args -> IO ()-_backward_BatchNorm_v1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SequenceMask(ndarray)" =-     '[ '("use_sequence_length", AttrOpt Bool),-        '("value", AttrOpt Float), '("axis", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle),-        '("sequence_length", AttrOpt NDArrayHandle)]--_SequenceMask ::-              forall args . Fullfilled "_SequenceMask(ndarray)" args =>-                ArgsHMap "_SequenceMask(ndarray)" args -> IO [NDArrayHandle]-_SequenceMask args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("value",) . showValue <$> (args !? #value :: Maybe Float),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SequenceMask_upd ::-                  forall args . Fullfilled "_SequenceMask(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_SequenceMask(ndarray)" args -> IO ()-_SequenceMask_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("value",) . showValue <$> (args !? #value :: Maybe Float),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SequenceMask(ndarray)" = '[]--_backward_SequenceMask ::-                       forall args . Fullfilled "_backward_SequenceMask(ndarray)" args =>-                         ArgsHMap "_backward_SequenceMask(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_SequenceMask args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SequenceMask_upd ::-                           forall args . Fullfilled "_backward_SequenceMask(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_SequenceMask(ndarray)" args -> IO ()-_backward_SequenceMask_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_set_value(ndarray)" =-     '[ '("src", AttrOpt Float)]--_set_value ::-           forall args . Fullfilled "_set_value(ndarray)" args =>-             ArgsHMap "_set_value(ndarray)" args -> IO [NDArrayHandle]-_set_value args-  = let scalarArgs-          = catMaybes-              [("src",) . showValue <$> (args !? #src :: Maybe Float)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_set_value"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_set_value_upd ::-               forall args . Fullfilled "_set_value(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_set_value(ndarray)" args -> IO ()-_set_value_upd outputs args-  = let scalarArgs-          = catMaybes-              [("src",) . showValue <$> (args !? #src :: Maybe Float)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_set_value"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_onehot_encode(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_onehot_encode ::-               forall args . Fullfilled "_onehot_encode(ndarray)" args =>-                 ArgsHMap "_onehot_encode(ndarray)" args -> IO [NDArrayHandle]-_onehot_encode args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_onehot_encode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_onehot_encode_upd ::-                   forall args . Fullfilled "_onehot_encode(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_onehot_encode(ndarray)" args -> IO ()-_onehot_encode_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_onehot_encode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "choose_element_0index(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--choose_element_0index ::-                      forall args . Fullfilled "choose_element_0index(ndarray)" args =>-                        ArgsHMap "choose_element_0index(ndarray)" args ->-                          IO [NDArrayHandle]-choose_element_0index args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "choose_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--choose_element_0index_upd ::-                          forall args . Fullfilled "choose_element_0index(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "choose_element_0index(ndarray)" args -> IO ()-choose_element_0index_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "choose_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "fill_element_0index(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("mhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--fill_element_0index ::-                    forall args . Fullfilled "fill_element_0index(ndarray)" args =>-                      ArgsHMap "fill_element_0index(ndarray)" args -> IO [NDArrayHandle]-fill_element_0index args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("mhs",) <$> (args !? #mhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fill_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--fill_element_0index_upd ::-                        forall args . Fullfilled "fill_element_0index(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "fill_element_0index(ndarray)" args -> IO ()-fill_element_0index_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("mhs",) <$> (args !? #mhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fill_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_imdecode(ndarray)" =-     '[ '("index", AttrOpt Int), '("x0", AttrOpt Int),-        '("y0", AttrOpt Int), '("x1", AttrOpt Int), '("y1", AttrOpt Int),-        '("c", AttrOpt Int), '("size", AttrOpt Int),-        '("mean", AttrOpt NDArrayHandle)]--_imdecode ::-          forall args . Fullfilled "_imdecode(ndarray)" args =>-            ArgsHMap "_imdecode(ndarray)" args -> IO [NDArrayHandle]-_imdecode args-  = let scalarArgs-          = catMaybes-              [("index",) . showValue <$> (args !? #index :: Maybe Int),-               ("x0",) . showValue <$> (args !? #x0 :: Maybe Int),-               ("y0",) . showValue <$> (args !? #y0 :: Maybe Int),-               ("x1",) . showValue <$> (args !? #x1 :: Maybe Int),-               ("y1",) . showValue <$> (args !? #y1 :: Maybe Int),-               ("c",) . showValue <$> (args !? #c :: Maybe Int),-               ("size",) . showValue <$> (args !? #size :: Maybe Int)]-        tensorArgs-          = catMaybes [("mean",) <$> (args !? #mean :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_imdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_imdecode_upd ::-              forall args . Fullfilled "_imdecode(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_imdecode(ndarray)" args -> IO ()-_imdecode_upd outputs args-  = let scalarArgs-          = catMaybes-              [("index",) . showValue <$> (args !? #index :: Maybe Int),-               ("x0",) . showValue <$> (args !? #x0 :: Maybe Int),-               ("y0",) . showValue <$> (args !? #y0 :: Maybe Int),-               ("x1",) . showValue <$> (args !? #x1 :: Maybe Int),-               ("y1",) . showValue <$> (args !? #y1 :: Maybe Int),-               ("c",) . showValue <$> (args !? #c :: Maybe Int),-               ("size",) . showValue <$> (args !? #size :: Maybe Int)]-        tensorArgs-          = catMaybes [("mean",) <$> (args !? #mean :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_imdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()
− ops/1.3/MXNet/Base/Operators/Symbol.hs
@@ -1,11404 +0,0 @@-module MXNet.Base.Operators.Symbol where-import MXNet.Base.Raw-import MXNet.Base.Spec.Operator-import MXNet.Base.Spec.HMap-import Data.Maybe (catMaybes, fromMaybe)--type instance ParameterList "_sample_multinomial(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("get_prob", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt SymbolHandle)]--_sample_multinomial ::-                    forall args . Fullfilled "_sample_multinomial(symbol)" args =>-                      String ->-                        ArgsHMap "_sample_multinomial(symbol)" args -> IO SymbolHandle-_sample_multinomial name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("get_prob",) . showValue <$> (args !? #get_prob :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_multinomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sample_multinomial(symbol)"-     = '[]--_backward_sample_multinomial ::-                             forall args .-                               Fullfilled "_backward_sample_multinomial(symbol)" args =>-                               String ->-                                 ArgsHMap "_backward_sample_multinomial(symbol)" args ->-                                   IO SymbolHandle-_backward_sample_multinomial name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sample_multinomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_uniform(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("low", AttrOpt SymbolHandle), '("high", AttrOpt SymbolHandle)]--_sample_uniform ::-                forall args . Fullfilled "_sample_uniform(symbol)" args =>-                  String ->-                    ArgsHMap "_sample_uniform(symbol)" args -> IO SymbolHandle-_sample_uniform name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("low",) <$> (args !? #low :: Maybe SymbolHandle),-               ("high",) <$> (args !? #high :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_uniform"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_normal(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt SymbolHandle), '("sigma", AttrOpt SymbolHandle)]--_sample_normal ::-               forall args . Fullfilled "_sample_normal(symbol)" args =>-                 String -> ArgsHMap "_sample_normal(symbol)" args -> IO SymbolHandle-_sample_normal name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe SymbolHandle),-               ("sigma",) <$> (args !? #sigma :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_normal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_gamma(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("alpha", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle)]--_sample_gamma ::-              forall args . Fullfilled "_sample_gamma(symbol)" args =>-                String -> ArgsHMap "_sample_gamma(symbol)" args -> IO SymbolHandle-_sample_gamma name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("alpha",) <$> (args !? #alpha :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_exponential(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt SymbolHandle)]--_sample_exponential ::-                    forall args . Fullfilled "_sample_exponential(symbol)" args =>-                      String ->-                        ArgsHMap "_sample_exponential(symbol)" args -> IO SymbolHandle-_sample_exponential name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_exponential"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_poisson(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt SymbolHandle)]--_sample_poisson ::-                forall args . Fullfilled "_sample_poisson(symbol)" args =>-                  String ->-                    ArgsHMap "_sample_poisson(symbol)" args -> IO SymbolHandle-_sample_poisson name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_poisson"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_negative_binomial(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("k", AttrOpt SymbolHandle), '("p", AttrOpt SymbolHandle)]--_sample_negative_binomial ::-                          forall args .-                            Fullfilled "_sample_negative_binomial(symbol)" args =>-                            String ->-                              ArgsHMap "_sample_negative_binomial(symbol)" args ->-                                IO SymbolHandle-_sample_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("k",) <$> (args !? #k :: Maybe SymbolHandle),-               ("p",) <$> (args !? #p :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_sample_generalized_negative_binomial(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt SymbolHandle), '("alpha", AttrOpt SymbolHandle)]--_sample_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_sample_generalized_negative_binomial(symbol)"-                                          args =>-                                        String ->-                                          ArgsHMap "_sample_generalized_negative_binomial(symbol)"-                                            args-                                            -> IO SymbolHandle-_sample_generalized_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe SymbolHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_generalized_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_unique_zipfian(symbol)" =-     '[ '("range_max", AttrReq Int), '("shape", AttrOpt [Int])]--_sample_unique_zipfian ::-                       forall args . Fullfilled "_sample_unique_zipfian(symbol)" args =>-                         String ->-                           ArgsHMap "_sample_unique_zipfian(symbol)" args -> IO SymbolHandle-_sample_unique_zipfian name args-  = let scalarArgs-          = catMaybes-              [("range_max",) . showValue <$> (args !? #range_max :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_unique_zipfian"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_uniform(symbol)" =-     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_uniform ::-                forall args . Fullfilled "_random_uniform(symbol)" args =>-                  String ->-                    ArgsHMap "_random_uniform(symbol)" args -> IO SymbolHandle-_random_uniform name args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_normal(symbol)" =-     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_normal ::-               forall args . Fullfilled "_random_normal(symbol)" args =>-                 String -> ArgsHMap "_random_normal(symbol)" args -> IO SymbolHandle-_random_normal name args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_gamma(symbol)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_gamma ::-              forall args . Fullfilled "_random_gamma(symbol)" args =>-                String -> ArgsHMap "_random_gamma(symbol)" args -> IO SymbolHandle-_random_gamma name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_exponential(symbol)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_exponential ::-                    forall args . Fullfilled "_random_exponential(symbol)" args =>-                      String ->-                        ArgsHMap "_random_exponential(symbol)" args -> IO SymbolHandle-_random_exponential name args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_poisson(symbol)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_poisson ::-                forall args . Fullfilled "_random_poisson(symbol)" args =>-                  String ->-                    ArgsHMap "_random_poisson(symbol)" args -> IO SymbolHandle-_random_poisson name args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_negative_binomial(symbol)" =-     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_negative_binomial ::-                          forall args .-                            Fullfilled "_random_negative_binomial(symbol)" args =>-                            String ->-                              ArgsHMap "_random_negative_binomial(symbol)" args ->-                                IO SymbolHandle-_random_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_random_generalized_negative_binomial(symbol)" =-     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_random_generalized_negative_binomial(symbol)"-                                          args =>-                                        String ->-                                          ArgsHMap "_random_generalized_negative_binomial(symbol)"-                                            args-                                            -> IO SymbolHandle-_random_generalized_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_shuffle(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_shuffle ::-         forall args . Fullfilled "_shuffle(symbol)" args =>-           String -> ArgsHMap "_shuffle(symbol)" args -> IO SymbolHandle-_shuffle name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_shuffle"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Custom(symbol)" =-     '[ '("op_type", AttrOpt String), '("data", AttrOpt [SymbolHandle])]--_Custom ::-        forall args .-          (Fullfilled "_Custom(symbol)" args,-           PopKey (ArgOf "_Custom(symbol)") args "data",-           Dump (PopResult (ArgOf "_Custom(symbol)") args "data")) =>-          String -> ArgsHMap "_Custom(symbol)" args -> IO SymbolHandle-_Custom name args-  = let scalarArgs = dump (pop args #data)-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "Custom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_Custom(symbol)" = '[]--_backward_Custom ::-                 forall args . Fullfilled "_backward_Custom(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_Custom(symbol)" args -> IO SymbolHandle-_backward_Custom name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Custom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_power(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_power ::-                forall args . Fullfilled "broadcast_power(symbol)" args =>-                  String ->-                    ArgsHMap "broadcast_power(symbol)" args -> IO SymbolHandle-broadcast_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_power(symbol)" =-     '[]--_backward_broadcast_power ::-                          forall args .-                            Fullfilled "_backward_broadcast_power(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_broadcast_power(symbol)" args ->-                                IO SymbolHandle-_backward_broadcast_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_maximum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_maximum ::-                  forall args . Fullfilled "broadcast_maximum(symbol)" args =>-                    String ->-                      ArgsHMap "broadcast_maximum(symbol)" args -> IO SymbolHandle-broadcast_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_maximum(symbol)" =-     '[]--_backward_broadcast_maximum ::-                            forall args .-                              Fullfilled "_backward_broadcast_maximum(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_broadcast_maximum(symbol)" args ->-                                  IO SymbolHandle-_backward_broadcast_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_minimum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_minimum ::-                  forall args . Fullfilled "broadcast_minimum(symbol)" args =>-                    String ->-                      ArgsHMap "broadcast_minimum(symbol)" args -> IO SymbolHandle-broadcast_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_minimum(symbol)" =-     '[]--_backward_broadcast_minimum ::-                            forall args .-                              Fullfilled "_backward_broadcast_minimum(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_broadcast_minimum(symbol)" args ->-                                  IO SymbolHandle-_backward_broadcast_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_hypot(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_hypot ::-                forall args . Fullfilled "broadcast_hypot(symbol)" args =>-                  String ->-                    ArgsHMap "broadcast_hypot(symbol)" args -> IO SymbolHandle-broadcast_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_hypot(symbol)" =-     '[]--_backward_broadcast_hypot ::-                          forall args .-                            Fullfilled "_backward_broadcast_hypot(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_broadcast_hypot(symbol)" args ->-                                IO SymbolHandle-_backward_broadcast_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_equal ::-       forall args . Fullfilled "_equal(symbol)" args =>-         String -> ArgsHMap "_equal(symbol)" args -> IO SymbolHandle-_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_not_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_not_equal ::-           forall args . Fullfilled "_not_equal(symbol)" args =>-             String -> ArgsHMap "_not_equal(symbol)" args -> IO SymbolHandle-_not_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_greater ::-         forall args . Fullfilled "_greater(symbol)" args =>-           String -> ArgsHMap "_greater(symbol)" args -> IO SymbolHandle-_greater name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_greater_equal ::-               forall args . Fullfilled "_greater_equal(symbol)" args =>-                 String -> ArgsHMap "_greater_equal(symbol)" args -> IO SymbolHandle-_greater_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_lesser ::-        forall args . Fullfilled "_lesser(symbol)" args =>-          String -> ArgsHMap "_lesser(symbol)" args -> IO SymbolHandle-_lesser name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_lesser_equal ::-              forall args . Fullfilled "_lesser_equal(symbol)" args =>-                String -> ArgsHMap "_lesser_equal(symbol)" args -> IO SymbolHandle-_lesser_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_and(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_logical_and ::-             forall args . Fullfilled "_logical_and(symbol)" args =>-               String -> ArgsHMap "_logical_and(symbol)" args -> IO SymbolHandle-_logical_and name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_or(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_logical_or ::-            forall args . Fullfilled "_logical_or(symbol)" args =>-              String -> ArgsHMap "_logical_or(symbol)" args -> IO SymbolHandle-_logical_or name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_xor(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_logical_xor ::-             forall args . Fullfilled "_logical_xor(symbol)" args =>-               String -> ArgsHMap "_logical_xor(symbol)" args -> IO SymbolHandle-_logical_xor name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_power(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_power ::-       forall args . Fullfilled "_power(symbol)" args =>-         String -> ArgsHMap "_power(symbol)" args -> IO SymbolHandle-_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_power(symbol)" = '[]--_backward_power ::-                forall args . Fullfilled "_backward_power(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_power(symbol)" args -> IO SymbolHandle-_backward_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_maximum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_maximum ::-         forall args . Fullfilled "_maximum(symbol)" args =>-           String -> ArgsHMap "_maximum(symbol)" args -> IO SymbolHandle-_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_maximum(symbol)" = '[]--_backward_maximum ::-                  forall args . Fullfilled "_backward_maximum(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_maximum(symbol)" args -> IO SymbolHandle-_backward_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_minimum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_minimum ::-         forall args . Fullfilled "_minimum(symbol)" args =>-           String -> ArgsHMap "_minimum(symbol)" args -> IO SymbolHandle-_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_minimum(symbol)" = '[]--_backward_minimum ::-                  forall args . Fullfilled "_backward_minimum(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_minimum(symbol)" args -> IO SymbolHandle-_backward_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_hypot(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_hypot ::-       forall args . Fullfilled "_hypot(symbol)" args =>-         String -> ArgsHMap "_hypot(symbol)" args -> IO SymbolHandle-_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_hypot(symbol)" = '[]--_backward_hypot ::-                forall args . Fullfilled "_backward_hypot(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_hypot(symbol)" args -> IO SymbolHandle-_backward_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_square_sum(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--_square_sum ::-            forall args . Fullfilled "_square_sum(symbol)" args =>-              String -> ArgsHMap "_square_sum(symbol)" args -> IO SymbolHandle-_square_sum name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_square_sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_square_sum(symbol)" = '[]--_backward_square_sum ::-                     forall args . Fullfilled "_backward_square_sum(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_square_sum(symbol)" args -> IO SymbolHandle-_backward_square_sum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square_sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "add_n(symbol)" =-     '[ '("args", AttrOpt [SymbolHandle])]--add_n ::-      forall args . Fullfilled "add_n(symbol)" args =>-        String -> ArgsHMap "add_n(symbol)" args -> IO SymbolHandle-add_n name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "add_n"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_zeros(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_zeros ::-       forall args . Fullfilled "_zeros(symbol)" args =>-         String -> ArgsHMap "_zeros(symbol)" args -> IO SymbolHandle-_zeros name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_eye(symbol)" =-     '[ '("_N", AttrReq Int), '("_M", AttrOpt Int), '("k", AttrOpt Int),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_eye ::-     forall args . Fullfilled "_eye(symbol)" args =>-       String -> ArgsHMap "_eye(symbol)" args -> IO SymbolHandle-_eye name args-  = let scalarArgs-          = catMaybes-              [("_N",) . showValue <$> (args !? #_N :: Maybe Int),-               ("_M",) . showValue <$> (args !? #_M :: Maybe Int),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_eye"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_ones(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_ones ::-      forall args . Fullfilled "_ones(symbol)" args =>-        String -> ArgsHMap "_ones(symbol)" args -> IO SymbolHandle-_ones name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ones"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_full(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("value", AttrReq Double)]--_full ::-      forall args . Fullfilled "_full(symbol)" args =>-        String -> ArgsHMap "_full(symbol)" args -> IO SymbolHandle-_full name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("value",) . showValue <$> (args !? #value :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_full"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_arange(symbol)" =-     '[ '("start", AttrReq Double), '("stop", AttrOpt (Maybe Double)),-        '("step", AttrOpt Double), '("repeat", AttrOpt Int),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_arange ::-        forall args . Fullfilled "_arange(symbol)" args =>-          String -> ArgsHMap "_arange(symbol)" args -> IO SymbolHandle-_arange name args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_arange"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "zeros_like(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--zeros_like ::-           forall args . Fullfilled "zeros_like(symbol)" args =>-             String -> ArgsHMap "zeros_like(symbol)" args -> IO SymbolHandle-zeros_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "zeros_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ones_like(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--ones_like ::-          forall args . Fullfilled "ones_like(symbol)" args =>-            String -> ArgsHMap "ones_like(symbol)" args -> IO SymbolHandle-ones_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ones_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_add(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_add ::-              forall args . Fullfilled "broadcast_add(symbol)" args =>-                String -> ArgsHMap "broadcast_add(symbol)" args -> IO SymbolHandle-broadcast_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_add(symbol)" = '[]--_backward_broadcast_add ::-                        forall args . Fullfilled "_backward_broadcast_add(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_add(symbol)" args -> IO SymbolHandle-_backward_broadcast_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_sub(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_sub ::-              forall args . Fullfilled "broadcast_sub(symbol)" args =>-                String -> ArgsHMap "broadcast_sub(symbol)" args -> IO SymbolHandle-broadcast_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_sub(symbol)" = '[]--_backward_broadcast_sub ::-                        forall args . Fullfilled "_backward_broadcast_sub(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_sub(symbol)" args -> IO SymbolHandle-_backward_broadcast_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_mul(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_mul ::-              forall args . Fullfilled "broadcast_mul(symbol)" args =>-                String -> ArgsHMap "broadcast_mul(symbol)" args -> IO SymbolHandle-broadcast_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_mul(symbol)" = '[]--_backward_broadcast_mul ::-                        forall args . Fullfilled "_backward_broadcast_mul(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_mul(symbol)" args -> IO SymbolHandle-_backward_broadcast_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_div(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_div ::-              forall args . Fullfilled "broadcast_div(symbol)" args =>-                String -> ArgsHMap "broadcast_div(symbol)" args -> IO SymbolHandle-broadcast_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_div(symbol)" = '[]--_backward_broadcast_div ::-                        forall args . Fullfilled "_backward_broadcast_div(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_div(symbol)" args -> IO SymbolHandle-_backward_broadcast_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_mod(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_mod ::-              forall args . Fullfilled "broadcast_mod(symbol)" args =>-                String -> ArgsHMap "broadcast_mod(symbol)" args -> IO SymbolHandle-broadcast_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_mod(symbol)" = '[]--_backward_broadcast_mod ::-                        forall args . Fullfilled "_backward_broadcast_mod(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_mod(symbol)" args -> IO SymbolHandle-_backward_broadcast_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_gemm(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("beta", AttrOpt Double),-        '("axis", AttrOpt Int), '("_A", AttrOpt SymbolHandle),-        '("_B", AttrOpt SymbolHandle), '("_C", AttrOpt SymbolHandle)]--_linalg_gemm ::-             forall args . Fullfilled "_linalg_gemm(symbol)" args =>-               String -> ArgsHMap "_linalg_gemm(symbol)" args -> IO SymbolHandle-_linalg_gemm name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle),-               ("_C",) <$> (args !? #_C :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_gemm(symbol)" = '[]--_backward_linalg_gemm ::-                      forall args . Fullfilled "_backward_linalg_gemm(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_gemm(symbol)" args -> IO SymbolHandle-_backward_linalg_gemm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_gemm2(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("axis", AttrOpt Int),-        '("_A", AttrOpt SymbolHandle), '("_B", AttrOpt SymbolHandle)]--_linalg_gemm2 ::-              forall args . Fullfilled "_linalg_gemm2(symbol)" args =>-                String -> ArgsHMap "_linalg_gemm2(symbol)" args -> IO SymbolHandle-_linalg_gemm2 name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_gemm2(symbol)" = '[]--_backward_linalg_gemm2 ::-                       forall args . Fullfilled "_backward_linalg_gemm2(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_gemm2(symbol)" args -> IO SymbolHandle-_backward_linalg_gemm2 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_potrf(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_potrf ::-              forall args . Fullfilled "_linalg_potrf(symbol)" args =>-                String -> ArgsHMap "_linalg_potrf(symbol)" args -> IO SymbolHandle-_linalg_potrf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potrf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_potrf(symbol)" = '[]--_backward_linalg_potrf ::-                       forall args . Fullfilled "_backward_linalg_potrf(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_potrf(symbol)" args -> IO SymbolHandle-_backward_linalg_potrf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potrf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_potri(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_potri ::-              forall args . Fullfilled "_linalg_potri(symbol)" args =>-                String -> ArgsHMap "_linalg_potri(symbol)" args -> IO SymbolHandle-_linalg_potri name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potri"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_potri(symbol)" = '[]--_backward_linalg_potri ::-                       forall args . Fullfilled "_backward_linalg_potri(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_potri(symbol)" args -> IO SymbolHandle-_backward_linalg_potri name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potri"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_trmm(symbol)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("_A", AttrOpt SymbolHandle),-        '("_B", AttrOpt SymbolHandle)]--_linalg_trmm ::-             forall args . Fullfilled "_linalg_trmm(symbol)" args =>-               String -> ArgsHMap "_linalg_trmm(symbol)" args -> IO SymbolHandle-_linalg_trmm name args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trmm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_trmm(symbol)" = '[]--_backward_linalg_trmm ::-                      forall args . Fullfilled "_backward_linalg_trmm(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_trmm(symbol)" args -> IO SymbolHandle-_backward_linalg_trmm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trmm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_trsm(symbol)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("_A", AttrOpt SymbolHandle),-        '("_B", AttrOpt SymbolHandle)]--_linalg_trsm ::-             forall args . Fullfilled "_linalg_trsm(symbol)" args =>-               String -> ArgsHMap "_linalg_trsm(symbol)" args -> IO SymbolHandle-_linalg_trsm name args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trsm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_trsm(symbol)" = '[]--_backward_linalg_trsm ::-                      forall args . Fullfilled "_backward_linalg_trsm(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_trsm(symbol)" args -> IO SymbolHandle-_backward_linalg_trsm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trsm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_sumlogdiag(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_sumlogdiag ::-                   forall args . Fullfilled "_linalg_sumlogdiag(symbol)" args =>-                     String ->-                       ArgsHMap "_linalg_sumlogdiag(symbol)" args -> IO SymbolHandle-_linalg_sumlogdiag name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_sumlogdiag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_sumlogdiag(symbol)" =-     '[]--_backward_linalg_sumlogdiag ::-                            forall args .-                              Fullfilled "_backward_linalg_sumlogdiag(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_linalg_sumlogdiag(symbol)" args ->-                                  IO SymbolHandle-_backward_linalg_sumlogdiag name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_sumlogdiag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_syrk(symbol)" =-     '[ '("transpose", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt SymbolHandle)]--_linalg_syrk ::-             forall args . Fullfilled "_linalg_syrk(symbol)" args =>-               String -> ArgsHMap "_linalg_syrk(symbol)" args -> IO SymbolHandle-_linalg_syrk name args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syrk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_syrk(symbol)" = '[]--_backward_linalg_syrk ::-                      forall args . Fullfilled "_backward_linalg_syrk(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_syrk(symbol)" args -> IO SymbolHandle-_backward_linalg_syrk name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syrk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_gelqf(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_gelqf ::-              forall args . Fullfilled "_linalg_gelqf(symbol)" args =>-                String -> ArgsHMap "_linalg_gelqf(symbol)" args -> IO SymbolHandle-_linalg_gelqf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gelqf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_gelqf(symbol)" = '[]--_backward_linalg_gelqf ::-                       forall args . Fullfilled "_backward_linalg_gelqf(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_gelqf(symbol)" args -> IO SymbolHandle-_backward_linalg_gelqf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gelqf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_syevd(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_syevd ::-              forall args . Fullfilled "_linalg_syevd(symbol)" args =>-                String -> ArgsHMap "_linalg_syevd(symbol)" args -> IO SymbolHandle-_linalg_syevd name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syevd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_syevd(symbol)" = '[]--_backward_linalg_syevd ::-                       forall args . Fullfilled "_backward_linalg_syevd(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_syevd(symbol)" args -> IO SymbolHandle-_backward_linalg_syevd name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syevd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_histogram(symbol)" =-     '[ '("bin_cnt", AttrOpt (Maybe Int)), '("range", AttrOpt Int),-        '("data", AttrOpt SymbolHandle), '("bins", AttrOpt SymbolHandle)]--_histogram ::-           forall args . Fullfilled "_histogram(symbol)" args =>-             String -> ArgsHMap "_histogram(symbol)" args -> IO SymbolHandle-_histogram name args-  = let scalarArgs-          = catMaybes-              [("bin_cnt",) . showValue <$>-                 (args !? #bin_cnt :: Maybe (Maybe Int)),-               ("range",) . showValue <$> (args !? #range :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("bins",) <$> (args !? #bins :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_histogram"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cast_storage(symbol)" =-     '[ '("stype",-          AttrReq (EnumType '["csr", "default", "row_sparse"])),-        '("data", AttrOpt SymbolHandle)]--cast_storage ::-             forall args . Fullfilled "cast_storage(symbol)" args =>-               String -> ArgsHMap "cast_storage(symbol)" args -> IO SymbolHandle-cast_storage name args-  = let scalarArgs-          = catMaybes-              [("stype",) . showValue <$>-                 (args !? #stype ::-                    Maybe (EnumType '["csr", "default", "row_sparse"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cast_storage"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_equal_scalar ::-              forall args . Fullfilled "_equal_scalar(symbol)" args =>-                String -> ArgsHMap "_equal_scalar(symbol)" args -> IO SymbolHandle-_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_not_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_not_equal_scalar ::-                  forall args . Fullfilled "_not_equal_scalar(symbol)" args =>-                    String ->-                      ArgsHMap "_not_equal_scalar(symbol)" args -> IO SymbolHandle-_not_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_greater_scalar ::-                forall args . Fullfilled "_greater_scalar(symbol)" args =>-                  String ->-                    ArgsHMap "_greater_scalar(symbol)" args -> IO SymbolHandle-_greater_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_greater_equal_scalar ::-                      forall args . Fullfilled "_greater_equal_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_greater_equal_scalar(symbol)" args -> IO SymbolHandle-_greater_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_lesser_scalar ::-               forall args . Fullfilled "_lesser_scalar(symbol)" args =>-                 String -> ArgsHMap "_lesser_scalar(symbol)" args -> IO SymbolHandle-_lesser_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_lesser_equal_scalar ::-                     forall args . Fullfilled "_lesser_equal_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_lesser_equal_scalar(symbol)" args -> IO SymbolHandle-_lesser_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_and_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_logical_and_scalar ::-                    forall args . Fullfilled "_logical_and_scalar(symbol)" args =>-                      String ->-                        ArgsHMap "_logical_and_scalar(symbol)" args -> IO SymbolHandle-_logical_and_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_or_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_logical_or_scalar ::-                   forall args . Fullfilled "_logical_or_scalar(symbol)" args =>-                     String ->-                       ArgsHMap "_logical_or_scalar(symbol)" args -> IO SymbolHandle-_logical_or_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_xor_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_logical_xor_scalar ::-                    forall args . Fullfilled "_logical_xor_scalar(symbol)" args =>-                      String ->-                        ArgsHMap "_logical_xor_scalar(symbol)" args -> IO SymbolHandle-_logical_xor_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "relu(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--relu ::-     forall args . Fullfilled "relu(symbol)" args =>-       String -> ArgsHMap "relu(symbol)" args -> IO SymbolHandle-relu name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "relu"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_relu(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_relu ::-               forall args . Fullfilled "_backward_relu(symbol)" args =>-                 String -> ArgsHMap "_backward_relu(symbol)" args -> IO SymbolHandle-_backward_relu name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_relu"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sigmoid(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sigmoid ::-        forall args . Fullfilled "sigmoid(symbol)" args =>-          String -> ArgsHMap "sigmoid(symbol)" args -> IO SymbolHandle-sigmoid name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sigmoid(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sigmoid ::-                  forall args . Fullfilled "_backward_sigmoid(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_sigmoid(symbol)" args -> IO SymbolHandle-_backward_sigmoid name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "hard_sigmoid(symbol)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--hard_sigmoid ::-             forall args . Fullfilled "hard_sigmoid(symbol)" args =>-               String -> ArgsHMap "hard_sigmoid(symbol)" args -> IO SymbolHandle-hard_sigmoid name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "hard_sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_hard_sigmoid(symbol)" = '[]--_backward_hard_sigmoid ::-                       forall args . Fullfilled "_backward_hard_sigmoid(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_hard_sigmoid(symbol)" args -> IO SymbolHandle-_backward_hard_sigmoid name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hard_sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "softsign(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--softsign ::-         forall args . Fullfilled "softsign(symbol)" args =>-           String -> ArgsHMap "softsign(symbol)" args -> IO SymbolHandle-softsign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softsign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_softsign(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_softsign ::-                   forall args . Fullfilled "_backward_softsign(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_softsign(symbol)" args -> IO SymbolHandle-_backward_softsign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softsign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_copy(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_copy ::-      forall args . Fullfilled "_copy(symbol)" args =>-        String -> ArgsHMap "_copy(symbol)" args -> IO SymbolHandle-_copy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_copy(symbol)" = '[]--_backward_copy ::-               forall args . Fullfilled "_backward_copy(symbol)" args =>-                 String -> ArgsHMap "_backward_copy(symbol)" args -> IO SymbolHandle-_backward_copy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_copy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BlockGrad(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_BlockGrad ::-           forall args . Fullfilled "_BlockGrad(symbol)" args =>-             String -> ArgsHMap "_BlockGrad(symbol)" args -> IO SymbolHandle-_BlockGrad name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BlockGrad"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "make_loss(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--make_loss ::-          forall args . Fullfilled "make_loss(symbol)" args =>-            String -> ArgsHMap "make_loss(symbol)" args -> IO SymbolHandle-make_loss name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "make_loss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_identity_with_attr_like_rhs(symbol)"-     =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_identity_with_attr_like_rhs ::-                             forall args .-                               Fullfilled "_identity_with_attr_like_rhs(symbol)" args =>-                               String ->-                                 ArgsHMap "_identity_with_attr_like_rhs(symbol)" args ->-                                   IO SymbolHandle-_identity_with_attr_like_rhs name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_identity_with_attr_like_rhs"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "reshape_like(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--reshape_like ::-             forall args . Fullfilled "reshape_like(symbol)" args =>-               String -> ArgsHMap "reshape_like(symbol)" args -> IO SymbolHandle-reshape_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reshape_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "shape_array(symbol)" =-     '[ '("lhs_begin", AttrOpt (Maybe Int)),-        '("lhs_end", AttrOpt (Maybe Int)),-        '("rhs_begin", AttrOpt (Maybe Int)),-        '("rhs_end", AttrOpt (Maybe Int)), '("data", AttrOpt SymbolHandle)]--shape_array ::-            forall args . Fullfilled "shape_array(symbol)" args =>-              String -> ArgsHMap "shape_array(symbol)" args -> IO SymbolHandle-shape_array name args-  = let scalarArgs-          = catMaybes-              [("lhs_begin",) . showValue <$>-                 (args !? #lhs_begin :: Maybe (Maybe Int)),-               ("lhs_end",) . showValue <$>-                 (args !? #lhs_end :: Maybe (Maybe Int)),-               ("rhs_begin",) . showValue <$>-                 (args !? #rhs_begin :: Maybe (Maybe Int)),-               ("rhs_end",) . showValue <$>-                 (args !? #rhs_end :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "shape_array"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "size_array(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--size_array ::-           forall args . Fullfilled "size_array(symbol)" args =>-             String -> ArgsHMap "size_array(symbol)" args -> IO SymbolHandle-size_array name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "size_array"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Cast(symbol)" =-     '[ '("dtype",-          AttrReq-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("data", AttrOpt SymbolHandle)]--_Cast ::-      forall args . Fullfilled "_Cast(symbol)" args =>-        String -> ArgsHMap "_Cast(symbol)" args -> IO SymbolHandle-_Cast name args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Cast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cast(symbol)" = '[]--_backward_cast ::-               forall args . Fullfilled "_backward_cast(symbol)" args =>-                 String -> ArgsHMap "_backward_cast(symbol)" args -> IO SymbolHandle-_backward_cast name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "negative(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--negative ::-         forall args . Fullfilled "negative(symbol)" args =>-           String -> ArgsHMap "negative(symbol)" args -> IO SymbolHandle-negative name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "negative"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "reciprocal(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--reciprocal ::-           forall args . Fullfilled "reciprocal(symbol)" args =>-             String -> ArgsHMap "reciprocal(symbol)" args -> IO SymbolHandle-reciprocal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reciprocal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_reciprocal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_reciprocal ::-                     forall args . Fullfilled "_backward_reciprocal(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_reciprocal(symbol)" args -> IO SymbolHandle-_backward_reciprocal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reciprocal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "abs(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--abs ::-    forall args . Fullfilled "abs(symbol)" args =>-      String -> ArgsHMap "abs(symbol)" args -> IO SymbolHandle-abs name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "abs"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_abs(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_abs ::-              forall args . Fullfilled "_backward_abs(symbol)" args =>-                String -> ArgsHMap "_backward_abs(symbol)" args -> IO SymbolHandle-_backward_abs name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_abs"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sign(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sign ::-     forall args . Fullfilled "sign(symbol)" args =>-       String -> ArgsHMap "sign(symbol)" args -> IO SymbolHandle-sign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sign(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sign ::-               forall args . Fullfilled "_backward_sign(symbol)" args =>-                 String -> ArgsHMap "_backward_sign(symbol)" args -> IO SymbolHandle-_backward_sign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "round(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--round ::-      forall args . Fullfilled "round(symbol)" args =>-        String -> ArgsHMap "round(symbol)" args -> IO SymbolHandle-round name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "round"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rint(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--rint ::-     forall args . Fullfilled "rint(symbol)" args =>-       String -> ArgsHMap "rint(symbol)" args -> IO SymbolHandle-rint name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rint"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ceil(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--ceil ::-     forall args . Fullfilled "ceil(symbol)" args =>-       String -> ArgsHMap "ceil(symbol)" args -> IO SymbolHandle-ceil name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ceil"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "floor(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--floor ::-      forall args . Fullfilled "floor(symbol)" args =>-        String -> ArgsHMap "floor(symbol)" args -> IO SymbolHandle-floor name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "floor"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "trunc(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--trunc ::-      forall args . Fullfilled "trunc(symbol)" args =>-        String -> ArgsHMap "trunc(symbol)" args -> IO SymbolHandle-trunc name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "trunc"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "fix(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--fix ::-    forall args . Fullfilled "fix(symbol)" args =>-      String -> ArgsHMap "fix(symbol)" args -> IO SymbolHandle-fix name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fix"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "square(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--square ::-       forall args . Fullfilled "square(symbol)" args =>-         String -> ArgsHMap "square(symbol)" args -> IO SymbolHandle-square name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "square"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_square(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_square ::-                 forall args . Fullfilled "_backward_square(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_square(symbol)" args -> IO SymbolHandle-_backward_square name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sqrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sqrt ::-     forall args . Fullfilled "sqrt(symbol)" args =>-       String -> ArgsHMap "sqrt(symbol)" args -> IO SymbolHandle-sqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sqrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sqrt ::-               forall args . Fullfilled "_backward_sqrt(symbol)" args =>-                 String -> ArgsHMap "_backward_sqrt(symbol)" args -> IO SymbolHandle-_backward_sqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rsqrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--rsqrt ::-      forall args . Fullfilled "rsqrt(symbol)" args =>-        String -> ArgsHMap "rsqrt(symbol)" args -> IO SymbolHandle-rsqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rsqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rsqrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_rsqrt ::-                forall args . Fullfilled "_backward_rsqrt(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_rsqrt(symbol)" args -> IO SymbolHandle-_backward_rsqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rsqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cbrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--cbrt ::-     forall args . Fullfilled "cbrt(symbol)" args =>-       String -> ArgsHMap "cbrt(symbol)" args -> IO SymbolHandle-cbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cbrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_cbrt ::-               forall args . Fullfilled "_backward_cbrt(symbol)" args =>-                 String -> ArgsHMap "_backward_cbrt(symbol)" args -> IO SymbolHandle-_backward_cbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rcbrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--rcbrt ::-      forall args . Fullfilled "rcbrt(symbol)" args =>-        String -> ArgsHMap "rcbrt(symbol)" args -> IO SymbolHandle-rcbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rcbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rcbrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_rcbrt ::-                forall args . Fullfilled "_backward_rcbrt(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_rcbrt(symbol)" args -> IO SymbolHandle-_backward_rcbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rcbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "exp(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--exp ::-    forall args . Fullfilled "exp(symbol)" args =>-      String -> ArgsHMap "exp(symbol)" args -> IO SymbolHandle-exp name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "exp"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log ::-    forall args . Fullfilled "log(symbol)" args =>-      String -> ArgsHMap "log(symbol)" args -> IO SymbolHandle-log name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log10(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log10 ::-      forall args . Fullfilled "log10(symbol)" args =>-        String -> ArgsHMap "log10(symbol)" args -> IO SymbolHandle-log10 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log10"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log2(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log2 ::-     forall args . Fullfilled "log2(symbol)" args =>-       String -> ArgsHMap "log2(symbol)" args -> IO SymbolHandle-log2 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log ::-              forall args . Fullfilled "_backward_log(symbol)" args =>-                String -> ArgsHMap "_backward_log(symbol)" args -> IO SymbolHandle-_backward_log name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log10(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log10 ::-                forall args . Fullfilled "_backward_log10(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_log10(symbol)" args -> IO SymbolHandle-_backward_log10 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log10"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log2(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log2 ::-               forall args . Fullfilled "_backward_log2(symbol)" args =>-                 String -> ArgsHMap "_backward_log2(symbol)" args -> IO SymbolHandle-_backward_log2 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log1p(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log1p ::-      forall args . Fullfilled "log1p(symbol)" args =>-        String -> ArgsHMap "log1p(symbol)" args -> IO SymbolHandle-log1p name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log1p"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log1p(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log1p ::-                forall args . Fullfilled "_backward_log1p(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_log1p(symbol)" args -> IO SymbolHandle-_backward_log1p name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log1p"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "expm1(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--expm1 ::-      forall args . Fullfilled "expm1(symbol)" args =>-        String -> ArgsHMap "expm1(symbol)" args -> IO SymbolHandle-expm1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expm1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_expm1(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_expm1 ::-                forall args . Fullfilled "_backward_expm1(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_expm1(symbol)" args -> IO SymbolHandle-_backward_expm1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_expm1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "gamma(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--gamma ::-      forall args . Fullfilled "gamma(symbol)" args =>-        String -> ArgsHMap "gamma(symbol)" args -> IO SymbolHandle-gamma name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_gamma(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_gamma ::-                forall args . Fullfilled "_backward_gamma(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_gamma(symbol)" args -> IO SymbolHandle-_backward_gamma name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "gammaln(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--gammaln ::-        forall args . Fullfilled "gammaln(symbol)" args =>-          String -> ArgsHMap "gammaln(symbol)" args -> IO SymbolHandle-gammaln name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gammaln"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_gammaln(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_gammaln ::-                  forall args . Fullfilled "_backward_gammaln(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_gammaln(symbol)" args -> IO SymbolHandle-_backward_gammaln name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gammaln"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "logical_not(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--logical_not ::-            forall args . Fullfilled "logical_not(symbol)" args =>-              String -> ArgsHMap "logical_not(symbol)" args -> IO SymbolHandle-logical_not name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "logical_not"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sum(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--sum ::-    forall args . Fullfilled "sum(symbol)" args =>-      String -> ArgsHMap "sum(symbol)" args -> IO SymbolHandle-sum name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sum(symbol)" = '[]--_backward_sum ::-              forall args . Fullfilled "_backward_sum(symbol)" args =>-                String -> ArgsHMap "_backward_sum(symbol)" args -> IO SymbolHandle-_backward_sum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "mean(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--mean ::-     forall args . Fullfilled "mean(symbol)" args =>-       String -> ArgsHMap "mean(symbol)" args -> IO SymbolHandle-mean name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mean"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mean(symbol)" = '[]--_backward_mean ::-               forall args . Fullfilled "_backward_mean(symbol)" args =>-                 String -> ArgsHMap "_backward_mean(symbol)" args -> IO SymbolHandle-_backward_mean name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mean"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "prod(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--prod ::-     forall args . Fullfilled "prod(symbol)" args =>-       String -> ArgsHMap "prod(symbol)" args -> IO SymbolHandle-prod name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "prod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_prod(symbol)" = '[]--_backward_prod ::-               forall args . Fullfilled "_backward_prod(symbol)" args =>-                 String -> ArgsHMap "_backward_prod(symbol)" args -> IO SymbolHandle-_backward_prod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_prod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "nansum(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--nansum ::-       forall args . Fullfilled "nansum(symbol)" args =>-         String -> ArgsHMap "nansum(symbol)" args -> IO SymbolHandle-nansum name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nansum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_nansum(symbol)" = '[]--_backward_nansum ::-                 forall args . Fullfilled "_backward_nansum(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_nansum(symbol)" args -> IO SymbolHandle-_backward_nansum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nansum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "nanprod(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--nanprod ::-        forall args . Fullfilled "nanprod(symbol)" args =>-          String -> ArgsHMap "nanprod(symbol)" args -> IO SymbolHandle-nanprod name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nanprod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_nanprod(symbol)" = '[]--_backward_nanprod ::-                  forall args . Fullfilled "_backward_nanprod(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_nanprod(symbol)" args -> IO SymbolHandle-_backward_nanprod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nanprod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "max(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--max ::-    forall args . Fullfilled "max(symbol)" args =>-      String -> ArgsHMap "max(symbol)" args -> IO SymbolHandle-max name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "max"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_max(symbol)" = '[]--_backward_max ::-              forall args . Fullfilled "_backward_max(symbol)" args =>-                String -> ArgsHMap "_backward_max(symbol)" args -> IO SymbolHandle-_backward_max name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_max"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "min(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--min ::-    forall args . Fullfilled "min(symbol)" args =>-      String -> ArgsHMap "min(symbol)" args -> IO SymbolHandle-min name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "min"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_min(symbol)" = '[]--_backward_min ::-              forall args . Fullfilled "_backward_min(symbol)" args =>-                String -> ArgsHMap "_backward_min(symbol)" args -> IO SymbolHandle-_backward_min name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_min"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_axis(symbol)" =-     '[ '("axis", AttrOpt [Int]), '("size", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--broadcast_axis ::-               forall args . Fullfilled "broadcast_axis(symbol)" args =>-                 String -> ArgsHMap "broadcast_axis(symbol)" args -> IO SymbolHandle-broadcast_axis name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("size",) . showValue <$> (args !? #size :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_axis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_to(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--broadcast_to ::-             forall args . Fullfilled "broadcast_to(symbol)" args =>-               String -> ArgsHMap "broadcast_to(symbol)" args -> IO SymbolHandle-broadcast_to name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_to"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_broadcast_backward(symbol)" = '[]--_broadcast_backward ::-                    forall args . Fullfilled "_broadcast_backward(symbol)" args =>-                      String ->-                        ArgsHMap "_broadcast_backward(symbol)" args -> IO SymbolHandle-_broadcast_backward name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_broadcast_backward"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_like(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_like ::-               forall args . Fullfilled "broadcast_like(symbol)" args =>-                 String -> ArgsHMap "broadcast_like(symbol)" args -> IO SymbolHandle-broadcast_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "norm(symbol)" =-     '[ '("ord", AttrOpt Int), '("axis", AttrOpt (Maybe [Int])),-        '("keepdims", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--norm ::-     forall args . Fullfilled "norm(symbol)" args =>-       String -> ArgsHMap "norm(symbol)" args -> IO SymbolHandle-norm name args-  = let scalarArgs-          = catMaybes-              [("ord",) . showValue <$> (args !? #ord :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "norm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_norm(symbol)" = '[]--_backward_norm ::-               forall args . Fullfilled "_backward_norm(symbol)" args =>-                 String -> ArgsHMap "_backward_norm(symbol)" args -> IO SymbolHandle-_backward_norm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_norm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_add(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_add ::-             forall args . Fullfilled "elemwise_add(symbol)" args =>-               String -> ArgsHMap "elemwise_add(symbol)" args -> IO SymbolHandle-elemwise_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_grad_add(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_grad_add ::-          forall args . Fullfilled "_grad_add(symbol)" args =>-            String -> ArgsHMap "_grad_add(symbol)" args -> IO SymbolHandle-_grad_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_grad_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_add(symbol)" = '[]--_backward_add ::-              forall args . Fullfilled "_backward_add(symbol)" args =>-                String -> ArgsHMap "_backward_add(symbol)" args -> IO SymbolHandle-_backward_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_sub(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_sub ::-             forall args . Fullfilled "elemwise_sub(symbol)" args =>-               String -> ArgsHMap "elemwise_sub(symbol)" args -> IO SymbolHandle-elemwise_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sub(symbol)" = '[]--_backward_sub ::-              forall args . Fullfilled "_backward_sub(symbol)" args =>-                String -> ArgsHMap "_backward_sub(symbol)" args -> IO SymbolHandle-_backward_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_mul(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_mul ::-             forall args . Fullfilled "elemwise_mul(symbol)" args =>-               String -> ArgsHMap "elemwise_mul(symbol)" args -> IO SymbolHandle-elemwise_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mul(symbol)" = '[]--_backward_mul ::-              forall args . Fullfilled "_backward_mul(symbol)" args =>-                String -> ArgsHMap "_backward_mul(symbol)" args -> IO SymbolHandle-_backward_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_div(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_div ::-             forall args . Fullfilled "elemwise_div(symbol)" args =>-               String -> ArgsHMap "elemwise_div(symbol)" args -> IO SymbolHandle-elemwise_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_div(symbol)" = '[]--_backward_div ::-              forall args . Fullfilled "_backward_div(symbol)" args =>-                String -> ArgsHMap "_backward_div(symbol)" args -> IO SymbolHandle-_backward_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_mod(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_mod ::-     forall args . Fullfilled "_mod(symbol)" args =>-       String -> ArgsHMap "_mod(symbol)" args -> IO SymbolHandle-_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mod(symbol)" = '[]--_backward_mod ::-              forall args . Fullfilled "_backward_mod(symbol)" args =>-                String -> ArgsHMap "_backward_mod(symbol)" args -> IO SymbolHandle-_backward_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_elemwise_div(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_scatter_elemwise_div ::-                      forall args . Fullfilled "_scatter_elemwise_div(symbol)" args =>-                        String ->-                          ArgsHMap "_scatter_elemwise_div(symbol)" args -> IO SymbolHandle-_scatter_elemwise_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_elemwise_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_plus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_scatter_plus_scalar ::-                     forall args . Fullfilled "_scatter_plus_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_scatter_plus_scalar(symbol)" args -> IO SymbolHandle-_scatter_plus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_plus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_minus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_scatter_minus_scalar ::-                      forall args . Fullfilled "_scatter_minus_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_scatter_minus_scalar(symbol)" args -> IO SymbolHandle-_scatter_minus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_minus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Embedding(symbol)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle)]--_Embedding ::-           forall args . Fullfilled "_Embedding(symbol)" args =>-             String -> ArgsHMap "_Embedding(symbol)" args -> IO SymbolHandle-_Embedding name args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Embedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_SparseEmbedding(symbol)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle)]--_contrib_SparseEmbedding ::-                         forall args . Fullfilled "_contrib_SparseEmbedding(symbol)" args =>-                           String ->-                             ArgsHMap "_contrib_SparseEmbedding(symbol)" args -> IO SymbolHandle-_contrib_SparseEmbedding name args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SparseEmbedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Embedding(symbol)" = '[]--_backward_Embedding ::-                    forall args . Fullfilled "_backward_Embedding(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_Embedding(symbol)" args -> IO SymbolHandle-_backward_Embedding name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Embedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SparseEmbedding(symbol)" =-     '[]--_backward_SparseEmbedding ::-                          forall args .-                            Fullfilled "_backward_SparseEmbedding(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_SparseEmbedding(symbol)" args ->-                                IO SymbolHandle-_backward_SparseEmbedding name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SparseEmbedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "take(symbol)" =-     '[ '("axis", AttrOpt Int),-        '("mode", AttrOpt (EnumType '["clip", "raise", "wrap"])),-        '("a", AttrOpt SymbolHandle), '("indices", AttrOpt SymbolHandle)]--take ::-     forall args . Fullfilled "take(symbol)" args =>-       String -> ArgsHMap "take(symbol)" args -> IO SymbolHandle-take name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "raise", "wrap"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "take"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_take(symbol)" = '[]--_backward_take ::-               forall args . Fullfilled "_backward_take(symbol)" args =>-                 String -> ArgsHMap "_backward_take(symbol)" args -> IO SymbolHandle-_backward_take name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_take"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "batch_take(symbol)" =-     '[ '("a", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--batch_take ::-           forall args . Fullfilled "batch_take(symbol)" args =>-             String -> ArgsHMap "batch_take(symbol)" args -> IO SymbolHandle-batch_take name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_take"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "one_hot(symbol)" =-     '[ '("depth", AttrReq Int), '("on_value", AttrOpt Double),-        '("off_value", AttrOpt Double),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("indices", AttrOpt SymbolHandle)]--one_hot ::-        forall args . Fullfilled "one_hot(symbol)" args =>-          String -> ArgsHMap "one_hot(symbol)" args -> IO SymbolHandle-one_hot name args-  = let scalarArgs-          = catMaybes-              [("depth",) . showValue <$> (args !? #depth :: Maybe Int),-               ("on_value",) . showValue <$> (args !? #on_value :: Maybe Double),-               ("off_value",) . showValue <$>-                 (args !? #off_value :: Maybe Double),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "one_hot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "gather_nd(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--gather_nd ::-          forall args . Fullfilled "gather_nd(symbol)" args =>-            String -> ArgsHMap "gather_nd(symbol)" args -> IO SymbolHandle-gather_nd name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gather_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "scatter_nd(symbol)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--scatter_nd ::-           forall args . Fullfilled "scatter_nd(symbol)" args =>-             String -> ArgsHMap "scatter_nd(symbol)" args -> IO SymbolHandle-scatter_nd name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "scatter_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_gather_nd(symbol)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--_backward_gather_nd ::-                    forall args . Fullfilled "_backward_gather_nd(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_gather_nd(symbol)" args -> IO SymbolHandle-_backward_gather_nd name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gather_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_set_nd(symbol)" =-     '[ '("shape", AttrReq [Int]), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle), '("indices", AttrOpt SymbolHandle)]--_scatter_set_nd ::-                forall args . Fullfilled "_scatter_set_nd(symbol)" args =>-                  String ->-                    ArgsHMap "_scatter_set_nd(symbol)" args -> IO SymbolHandle-_scatter_set_nd name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_set_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_equal ::-                forall args . Fullfilled "broadcast_equal(symbol)" args =>-                  String ->-                    ArgsHMap "broadcast_equal(symbol)" args -> IO SymbolHandle-broadcast_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_not_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_not_equal ::-                    forall args . Fullfilled "broadcast_not_equal(symbol)" args =>-                      String ->-                        ArgsHMap "broadcast_not_equal(symbol)" args -> IO SymbolHandle-broadcast_not_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_not_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_greater(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_greater ::-                  forall args . Fullfilled "broadcast_greater(symbol)" args =>-                    String ->-                      ArgsHMap "broadcast_greater(symbol)" args -> IO SymbolHandle-broadcast_greater name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_greater_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_greater_equal ::-                        forall args . Fullfilled "broadcast_greater_equal(symbol)" args =>-                          String ->-                            ArgsHMap "broadcast_greater_equal(symbol)" args -> IO SymbolHandle-broadcast_greater_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_lesser(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_lesser ::-                 forall args . Fullfilled "broadcast_lesser(symbol)" args =>-                   String ->-                     ArgsHMap "broadcast_lesser(symbol)" args -> IO SymbolHandle-broadcast_lesser name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_lesser_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_lesser_equal ::-                       forall args . Fullfilled "broadcast_lesser_equal(symbol)" args =>-                         String ->-                           ArgsHMap "broadcast_lesser_equal(symbol)" args -> IO SymbolHandle-broadcast_lesser_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_logical_and(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_logical_and ::-                      forall args . Fullfilled "broadcast_logical_and(symbol)" args =>-                        String ->-                          ArgsHMap "broadcast_logical_and(symbol)" args -> IO SymbolHandle-broadcast_logical_and name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_and"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_logical_or(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_logical_or ::-                     forall args . Fullfilled "broadcast_logical_or(symbol)" args =>-                       String ->-                         ArgsHMap "broadcast_logical_or(symbol)" args -> IO SymbolHandle-broadcast_logical_or name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_or"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_logical_xor(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_logical_xor ::-                      forall args . Fullfilled "broadcast_logical_xor(symbol)" args =>-                        String ->-                          ArgsHMap "broadcast_logical_xor(symbol)" args -> IO SymbolHandle-broadcast_logical_xor name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_xor"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_plus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_plus_scalar ::-             forall args . Fullfilled "_plus_scalar(symbol)" args =>-               String -> ArgsHMap "_plus_scalar(symbol)" args -> IO SymbolHandle-_plus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_plus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_minus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_minus_scalar ::-              forall args . Fullfilled "_minus_scalar(symbol)" args =>-                String -> ArgsHMap "_minus_scalar(symbol)" args -> IO SymbolHandle-_minus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rminus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rminus_scalar ::-               forall args . Fullfilled "_rminus_scalar(symbol)" args =>-                 String -> ArgsHMap "_rminus_scalar(symbol)" args -> IO SymbolHandle-_rminus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rminus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_mul_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_mul_scalar ::-            forall args . Fullfilled "_mul_scalar(symbol)" args =>-              String -> ArgsHMap "_mul_scalar(symbol)" args -> IO SymbolHandle-_mul_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mul_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mul_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_backward_mul_scalar ::-                     forall args . Fullfilled "_backward_mul_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_mul_scalar(symbol)" args -> IO SymbolHandle-_backward_mul_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_div_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_div_scalar ::-            forall args . Fullfilled "_div_scalar(symbol)" args =>-              String -> ArgsHMap "_div_scalar(symbol)" args -> IO SymbolHandle-_div_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_div_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_div_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_backward_div_scalar ::-                     forall args . Fullfilled "_backward_div_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_div_scalar(symbol)" args -> IO SymbolHandle-_backward_div_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rdiv_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rdiv_scalar ::-             forall args . Fullfilled "_rdiv_scalar(symbol)" args =>-               String -> ArgsHMap "_rdiv_scalar(symbol)" args -> IO SymbolHandle-_rdiv_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rdiv_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rdiv_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_rdiv_scalar ::-                      forall args . Fullfilled "_backward_rdiv_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_rdiv_scalar(symbol)" args -> IO SymbolHandle-_backward_rdiv_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rdiv_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_mod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_mod_scalar ::-            forall args . Fullfilled "_mod_scalar(symbol)" args =>-              String -> ArgsHMap "_mod_scalar(symbol)" args -> IO SymbolHandle-_mod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_mod_scalar ::-                     forall args . Fullfilled "_backward_mod_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_mod_scalar(symbol)" args -> IO SymbolHandle-_backward_mod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rmod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rmod_scalar ::-             forall args . Fullfilled "_rmod_scalar(symbol)" args =>-               String -> ArgsHMap "_rmod_scalar(symbol)" args -> IO SymbolHandle-_rmod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rmod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rmod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_rmod_scalar ::-                      forall args . Fullfilled "_backward_rmod_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_rmod_scalar(symbol)" args -> IO SymbolHandle-_backward_rmod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rmod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_ravel_multi_index(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--_ravel_multi_index ::-                   forall args . Fullfilled "_ravel_multi_index(symbol)" args =>-                     String ->-                       ArgsHMap "_ravel_multi_index(symbol)" args -> IO SymbolHandle-_ravel_multi_index name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ravel_multi_index"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_unravel_index(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--_unravel_index ::-               forall args . Fullfilled "_unravel_index(symbol)" args =>-                 String -> ArgsHMap "_unravel_index(symbol)" args -> IO SymbolHandle-_unravel_index name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_unravel_index"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argmax(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--argmax ::-       forall args . Fullfilled "argmax(symbol)" args =>-         String -> ArgsHMap "argmax(symbol)" args -> IO SymbolHandle-argmax name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argmin(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--argmin ::-       forall args . Fullfilled "argmin(symbol)" args =>-         String -> ArgsHMap "argmin(symbol)" args -> IO SymbolHandle-argmin name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argmax_channel(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--argmax_channel ::-               forall args . Fullfilled "argmax_channel(symbol)" args =>-                 String -> ArgsHMap "argmax_channel(symbol)" args -> IO SymbolHandle-argmax_channel name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax_channel"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "pick(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("mode", AttrOpt (EnumType '["clip", "wrap"])),-        '("data", AttrOpt SymbolHandle), '("index", AttrOpt SymbolHandle)]--pick ::-     forall args . Fullfilled "pick(symbol)" args =>-       String -> ArgsHMap "pick(symbol)" args -> IO SymbolHandle-pick name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "wrap"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("index",) <$> (args !? #index :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "pick"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_pick(symbol)" = '[]--_backward_pick ::-               forall args . Fullfilled "_backward_pick(symbol)" args =>-                 String -> ArgsHMap "_backward_pick(symbol)" args -> IO SymbolHandle-_backward_pick name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_pick"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sparse_retain(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--_sparse_retain ::-               forall args . Fullfilled "_sparse_retain(symbol)" args =>-                 String -> ArgsHMap "_sparse_retain(symbol)" args -> IO SymbolHandle-_sparse_retain name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_retain"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sparse_retain(symbol)" = '[]--_backward_sparse_retain ::-                        forall args . Fullfilled "_backward_sparse_retain(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_sparse_retain(symbol)" args -> IO SymbolHandle-_backward_sparse_retain name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sparse_retain"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_where(symbol)" =-     '[ '("condition", AttrOpt SymbolHandle),-        '("x", AttrOpt SymbolHandle), '("y", AttrOpt SymbolHandle)]--_where ::-       forall args . Fullfilled "_where(symbol)" args =>-         String -> ArgsHMap "_where(symbol)" args -> IO SymbolHandle-_where name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("condition",) <$> (args !? #condition :: Maybe SymbolHandle),-               ("x",) <$> (args !? #x :: Maybe SymbolHandle),-               ("y",) <$> (args !? #y :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "where"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_where(symbol)" = '[]--_backward_where ::-                forall args . Fullfilled "_backward_where(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_where(symbol)" args -> IO SymbolHandle-_backward_where name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_where"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "diag(symbol)" =-     '[ '("k", AttrOpt (Maybe Int)), '("data", AttrOpt SymbolHandle)]--diag ::-     forall args . Fullfilled "diag(symbol)" args =>-       String -> ArgsHMap "diag(symbol)" args -> IO SymbolHandle-diag name args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "diag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_diag(symbol)" = '[]--_backward_diag ::-               forall args . Fullfilled "_backward_diag(symbol)" args =>-                 String -> ArgsHMap "_backward_diag(symbol)" args -> IO SymbolHandle-_backward_diag name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_diag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_maximum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_maximum_scalar ::-                forall args . Fullfilled "_maximum_scalar(symbol)" args =>-                  String ->-                    ArgsHMap "_maximum_scalar(symbol)" args -> IO SymbolHandle-_maximum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_maximum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_maximum_scalar ::-                         forall args . Fullfilled "_backward_maximum_scalar(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_maximum_scalar(symbol)" args -> IO SymbolHandle-_backward_maximum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_minimum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_minimum_scalar ::-                forall args . Fullfilled "_minimum_scalar(symbol)" args =>-                  String ->-                    ArgsHMap "_minimum_scalar(symbol)" args -> IO SymbolHandle-_minimum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_minimum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_minimum_scalar ::-                         forall args . Fullfilled "_backward_minimum_scalar(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_minimum_scalar(symbol)" args -> IO SymbolHandle-_backward_minimum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_power_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_power_scalar ::-              forall args . Fullfilled "_power_scalar(symbol)" args =>-                String -> ArgsHMap "_power_scalar(symbol)" args -> IO SymbolHandle-_power_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_power_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_power_scalar ::-                       forall args . Fullfilled "_backward_power_scalar(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_power_scalar(symbol)" args -> IO SymbolHandle-_backward_power_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rpower_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rpower_scalar ::-               forall args . Fullfilled "_rpower_scalar(symbol)" args =>-                 String -> ArgsHMap "_rpower_scalar(symbol)" args -> IO SymbolHandle-_rpower_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rpower_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rpower_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_rpower_scalar ::-                        forall args . Fullfilled "_backward_rpower_scalar(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_rpower_scalar(symbol)" args -> IO SymbolHandle-_backward_rpower_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rpower_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_hypot_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_hypot_scalar ::-              forall args . Fullfilled "_hypot_scalar(symbol)" args =>-                String -> ArgsHMap "_hypot_scalar(symbol)" args -> IO SymbolHandle-_hypot_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_hypot_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_hypot_scalar ::-                       forall args . Fullfilled "_backward_hypot_scalar(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_hypot_scalar(symbol)" args -> IO SymbolHandle-_backward_hypot_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "smooth_l1(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--smooth_l1 ::-          forall args . Fullfilled "smooth_l1(symbol)" args =>-            String -> ArgsHMap "smooth_l1(symbol)" args -> IO SymbolHandle-smooth_l1 name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "smooth_l1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_smooth_l1(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_smooth_l1 ::-                    forall args . Fullfilled "_backward_smooth_l1(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_smooth_l1(symbol)" args -> IO SymbolHandle-_backward_smooth_l1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_smooth_l1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "topk(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("k", AttrOpt Int),-        '("ret_typ",-          AttrOpt (EnumType '["both", "indices", "mask", "value"])),-        '("is_ascend", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt SymbolHandle)]--topk ::-     forall args . Fullfilled "topk(symbol)" args =>-       String -> ArgsHMap "topk(symbol)" args -> IO SymbolHandle-topk name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ret_typ",) . showValue <$>-                 (args !? #ret_typ ::-                    Maybe (EnumType '["both", "indices", "mask", "value"])),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "topk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_topk(symbol)" = '[]--_backward_topk ::-               forall args . Fullfilled "_backward_topk(symbol)" args =>-                 String -> ArgsHMap "_backward_topk(symbol)" args -> IO SymbolHandle-_backward_topk name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_topk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sort(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--sort ::-     forall args . Fullfilled "sort(symbol)" args =>-       String -> ArgsHMap "sort(symbol)" args -> IO SymbolHandle-sort name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sort"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argsort(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt SymbolHandle)]--argsort ::-        forall args . Fullfilled "argsort(symbol)" args =>-          String -> ArgsHMap "argsort(symbol)" args -> IO SymbolHandle-argsort name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argsort"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Reshape(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("reverse", AttrOpt Bool),-        '("target_shape", AttrOpt [Int]), '("keep_highest", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--_Reshape ::-         forall args . Fullfilled "_Reshape(symbol)" args =>-           String -> ArgsHMap "_Reshape(symbol)" args -> IO SymbolHandle-_Reshape name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("keep_highest",) . showValue <$>-                 (args !? #keep_highest :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Reshape"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Flatten(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_Flatten ::-         forall args . Fullfilled "_Flatten(symbol)" args =>-           String -> ArgsHMap "_Flatten(symbol)" args -> IO SymbolHandle-_Flatten name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Flatten"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "transpose(symbol)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--transpose ::-          forall args . Fullfilled "transpose(symbol)" args =>-            String -> ArgsHMap "transpose(symbol)" args -> IO SymbolHandle-transpose name args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "transpose"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "expand_dims(symbol)" =-     '[ '("axis", AttrReq Int), '("data", AttrOpt SymbolHandle)]--expand_dims ::-            forall args . Fullfilled "expand_dims(symbol)" args =>-              String -> ArgsHMap "expand_dims(symbol)" args -> IO SymbolHandle-expand_dims name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expand_dims"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "slice(symbol)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--slice ::-      forall args . Fullfilled "slice(symbol)" args =>-        String -> ArgsHMap "slice(symbol)" args -> IO SymbolHandle-slice name args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_slice(symbol)" = '[]--_backward_slice ::-                forall args . Fullfilled "_backward_slice(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_slice(symbol)" args -> IO SymbolHandle-_backward_slice name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_slice_assign(symbol)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_slice_assign ::-              forall args . Fullfilled "_slice_assign(symbol)" args =>-                String -> ArgsHMap "_slice_assign(symbol)" args -> IO SymbolHandle-_slice_assign name args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_slice_assign_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("begin", AttrReq [Int]),-        '("end", AttrReq [Int]), '("step", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--_slice_assign_scalar ::-                     forall args . Fullfilled "_slice_assign_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_slice_assign_scalar(symbol)" args -> IO SymbolHandle-_slice_assign_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float),-               ("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "slice_axis(symbol)" =-     '[ '("axis", AttrReq Int), '("begin", AttrReq Int),-        '("end", AttrReq (Maybe Int)), '("data", AttrOpt SymbolHandle)]--slice_axis ::-           forall args . Fullfilled "slice_axis(symbol)" args =>-             String -> ArgsHMap "slice_axis(symbol)" args -> IO SymbolHandle-slice_axis name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("begin",) . showValue <$> (args !? #begin :: Maybe Int),-               ("end",) . showValue <$> (args !? #end :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_axis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_slice_axis(symbol)" = '[]--_backward_slice_axis ::-                     forall args . Fullfilled "_backward_slice_axis(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_slice_axis(symbol)" args -> IO SymbolHandle-_backward_slice_axis name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_axis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "slice_like(symbol)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt SymbolHandle),-        '("shape_like", AttrOpt SymbolHandle)]--slice_like ::-           forall args . Fullfilled "slice_like(symbol)" args =>-             String -> ArgsHMap "slice_like(symbol)" args -> IO SymbolHandle-slice_like name args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("shape_like",) <$> (args !? #shape_like :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_slice_like(symbol)" = '[]--_backward_slice_like ::-                     forall args . Fullfilled "_backward_slice_like(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_slice_like(symbol)" args -> IO SymbolHandle-_backward_slice_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "clip(symbol)" =-     '[ '("a_min", AttrReq Float), '("a_max", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--clip ::-     forall args . Fullfilled "clip(symbol)" args =>-       String -> ArgsHMap "clip(symbol)" args -> IO SymbolHandle-clip name args-  = let scalarArgs-          = catMaybes-              [("a_min",) . showValue <$> (args !? #a_min :: Maybe Float),-               ("a_max",) . showValue <$> (args !? #a_max :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "clip"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_clip(symbol)" = '[]--_backward_clip ::-               forall args . Fullfilled "_backward_clip(symbol)" args =>-                 String -> ArgsHMap "_backward_clip(symbol)" args -> IO SymbolHandle-_backward_clip name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_clip"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "repeat(symbol)" =-     '[ '("repeats", AttrReq Int), '("axis", AttrOpt (Maybe Int)),-        '("data", AttrOpt SymbolHandle)]--repeat ::-       forall args . Fullfilled "repeat(symbol)" args =>-         String -> ArgsHMap "repeat(symbol)" args -> IO SymbolHandle-repeat name args-  = let scalarArgs-          = catMaybes-              [("repeats",) . showValue <$> (args !? #repeats :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "repeat"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_repeat(symbol)" = '[]--_backward_repeat ::-                 forall args . Fullfilled "_backward_repeat(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_repeat(symbol)" args -> IO SymbolHandle-_backward_repeat name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_repeat"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "tile(symbol)" =-     '[ '("reps", AttrReq [Int]), '("data", AttrOpt SymbolHandle)]--tile ::-     forall args . Fullfilled "tile(symbol)" args =>-       String -> ArgsHMap "tile(symbol)" args -> IO SymbolHandle-tile name args-  = let scalarArgs-          = catMaybes-              [("reps",) . showValue <$> (args !? #reps :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tile"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_tile(symbol)" = '[]--_backward_tile ::-               forall args . Fullfilled "_backward_tile(symbol)" args =>-                 String -> ArgsHMap "_backward_tile(symbol)" args -> IO SymbolHandle-_backward_tile name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tile"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "reverse(symbol)" =-     '[ '("axis", AttrReq [Int]), '("data", AttrOpt SymbolHandle)]--reverse ::-        forall args . Fullfilled "reverse(symbol)" args =>-          String -> ArgsHMap "reverse(symbol)" args -> IO SymbolHandle-reverse name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_reverse(symbol)" = '[]--_backward_reverse ::-                  forall args . Fullfilled "_backward_reverse(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_reverse(symbol)" args -> IO SymbolHandle-_backward_reverse name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "stack(symbol)" =-     '[ '("axis", AttrOpt Int), '("num_args", AttrReq Int),-        '("data", AttrOpt [SymbolHandle])]--stack ::-      forall args . Fullfilled "stack(symbol)" args =>-        String -> ArgsHMap "stack(symbol)" args -> IO SymbolHandle-stack name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "stack"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_stack(symbol)" = '[]--_backward_stack ::-                forall args . Fullfilled "_backward_stack(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_stack(symbol)" args -> IO SymbolHandle-_backward_stack name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_stack"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "squeeze(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])),-        '("data", AttrOpt [SymbolHandle])]--squeeze ::-        forall args . Fullfilled "squeeze(symbol)" args =>-          String -> ArgsHMap "squeeze(symbol)" args -> IO SymbolHandle-squeeze name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "squeeze"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_squeeze(symbol)" = '[]--_backward_squeeze ::-                  forall args . Fullfilled "_backward_squeeze(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_squeeze(symbol)" args -> IO SymbolHandle-_backward_squeeze name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_squeeze"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "depth_to_space(symbol)" =-     '[ '("block_size", AttrReq Int), '("data", AttrOpt SymbolHandle)]--depth_to_space ::-               forall args . Fullfilled "depth_to_space(symbol)" args =>-                 String -> ArgsHMap "depth_to_space(symbol)" args -> IO SymbolHandle-depth_to_space name args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "depth_to_space"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "space_to_depth(symbol)" =-     '[ '("block_size", AttrReq Int), '("data", AttrOpt SymbolHandle)]--space_to_depth ::-               forall args . Fullfilled "space_to_depth(symbol)" args =>-                 String -> ArgsHMap "space_to_depth(symbol)" args -> IO SymbolHandle-space_to_depth name args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "space_to_depth"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "dot(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),-        '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--dot ::-    forall args . Fullfilled "dot(symbol)" args =>-      String -> ArgsHMap "dot(symbol)" args -> IO SymbolHandle-dot name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_dot(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"])))]--_backward_dot ::-              forall args . Fullfilled "_backward_dot(symbol)" args =>-                String -> ArgsHMap "_backward_dot(symbol)" args -> IO SymbolHandle-_backward_dot name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "batch_dot(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),-        '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--batch_dot ::-          forall args . Fullfilled "batch_dot(symbol)" args =>-            String -> ArgsHMap "batch_dot(symbol)" args -> IO SymbolHandle-batch_dot name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_batch_dot(symbol)" = '[]--_backward_batch_dot ::-                    forall args . Fullfilled "_backward_batch_dot(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_batch_dot(symbol)" args -> IO SymbolHandle-_backward_batch_dot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_batch_dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sin(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sin ::-    forall args . Fullfilled "sin(symbol)" args =>-      String -> ArgsHMap "sin(symbol)" args -> IO SymbolHandle-sin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sin(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sin ::-              forall args . Fullfilled "_backward_sin(symbol)" args =>-                String -> ArgsHMap "_backward_sin(symbol)" args -> IO SymbolHandle-_backward_sin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cos(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--cos ::-    forall args . Fullfilled "cos(symbol)" args =>-      String -> ArgsHMap "cos(symbol)" args -> IO SymbolHandle-cos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cos(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_cos ::-              forall args . Fullfilled "_backward_cos(symbol)" args =>-                String -> ArgsHMap "_backward_cos(symbol)" args -> IO SymbolHandle-_backward_cos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "tan(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--tan ::-    forall args . Fullfilled "tan(symbol)" args =>-      String -> ArgsHMap "tan(symbol)" args -> IO SymbolHandle-tan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_tan(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_tan ::-              forall args . Fullfilled "_backward_tan(symbol)" args =>-                String -> ArgsHMap "_backward_tan(symbol)" args -> IO SymbolHandle-_backward_tan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arcsin(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arcsin ::-       forall args . Fullfilled "arcsin(symbol)" args =>-         String -> ArgsHMap "arcsin(symbol)" args -> IO SymbolHandle-arcsin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arcsin(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arcsin ::-                 forall args . Fullfilled "_backward_arcsin(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_arcsin(symbol)" args -> IO SymbolHandle-_backward_arcsin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arccos(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arccos ::-       forall args . Fullfilled "arccos(symbol)" args =>-         String -> ArgsHMap "arccos(symbol)" args -> IO SymbolHandle-arccos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arccos(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arccos ::-                 forall args . Fullfilled "_backward_arccos(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_arccos(symbol)" args -> IO SymbolHandle-_backward_arccos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arctan(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arctan ::-       forall args . Fullfilled "arctan(symbol)" args =>-         String -> ArgsHMap "arctan(symbol)" args -> IO SymbolHandle-arctan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arctan(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arctan ::-                 forall args . Fullfilled "_backward_arctan(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_arctan(symbol)" args -> IO SymbolHandle-_backward_arctan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "degrees(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--degrees ::-        forall args . Fullfilled "degrees(symbol)" args =>-          String -> ArgsHMap "degrees(symbol)" args -> IO SymbolHandle-degrees name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "degrees"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_degrees(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_degrees ::-                  forall args . Fullfilled "_backward_degrees(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_degrees(symbol)" args -> IO SymbolHandle-_backward_degrees name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_degrees"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "radians(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--radians ::-        forall args . Fullfilled "radians(symbol)" args =>-          String -> ArgsHMap "radians(symbol)" args -> IO SymbolHandle-radians name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "radians"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_radians(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_radians ::-                  forall args . Fullfilled "_backward_radians(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_radians(symbol)" args -> IO SymbolHandle-_backward_radians name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_radians"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sinh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sinh ::-     forall args . Fullfilled "sinh(symbol)" args =>-       String -> ArgsHMap "sinh(symbol)" args -> IO SymbolHandle-sinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sinh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sinh ::-               forall args . Fullfilled "_backward_sinh(symbol)" args =>-                 String -> ArgsHMap "_backward_sinh(symbol)" args -> IO SymbolHandle-_backward_sinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cosh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--cosh ::-     forall args . Fullfilled "cosh(symbol)" args =>-       String -> ArgsHMap "cosh(symbol)" args -> IO SymbolHandle-cosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cosh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_cosh ::-               forall args . Fullfilled "_backward_cosh(symbol)" args =>-                 String -> ArgsHMap "_backward_cosh(symbol)" args -> IO SymbolHandle-_backward_cosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "tanh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--tanh ::-     forall args . Fullfilled "tanh(symbol)" args =>-       String -> ArgsHMap "tanh(symbol)" args -> IO SymbolHandle-tanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_tanh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_tanh ::-               forall args . Fullfilled "_backward_tanh(symbol)" args =>-                 String -> ArgsHMap "_backward_tanh(symbol)" args -> IO SymbolHandle-_backward_tanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arcsinh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arcsinh ::-        forall args . Fullfilled "arcsinh(symbol)" args =>-          String -> ArgsHMap "arcsinh(symbol)" args -> IO SymbolHandle-arcsinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arcsinh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arcsinh ::-                  forall args . Fullfilled "_backward_arcsinh(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_arcsinh(symbol)" args -> IO SymbolHandle-_backward_arcsinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arccosh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arccosh ::-        forall args . Fullfilled "arccosh(symbol)" args =>-          String -> ArgsHMap "arccosh(symbol)" args -> IO SymbolHandle-arccosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arccosh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arccosh ::-                  forall args . Fullfilled "_backward_arccosh(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_arccosh(symbol)" args -> IO SymbolHandle-_backward_arccosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arctanh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arctanh ::-        forall args . Fullfilled "arctanh(symbol)" args =>-          String -> ArgsHMap "arctanh(symbol)" args -> IO SymbolHandle-arctanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arctanh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arctanh ::-                  forall args . Fullfilled "_backward_arctanh(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_arctanh(symbol)" args -> IO SymbolHandle-_backward_arctanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_CTCLoss(symbol)" =-     '[ '("use_data_lengths", AttrOpt Bool),-        '("use_label_lengths", AttrOpt Bool),-        '("blank_label", AttrOpt (EnumType '["first", "last"])),-        '("data", AttrOpt SymbolHandle), '("label", AttrOpt SymbolHandle),-        '("data_lengths", AttrOpt SymbolHandle),-        '("label_lengths", AttrOpt SymbolHandle)]--_contrib_CTCLoss ::-                 forall args . Fullfilled "_contrib_CTCLoss(symbol)" args =>-                   String ->-                     ArgsHMap "_contrib_CTCLoss(symbol)" args -> IO SymbolHandle-_contrib_CTCLoss name args-  = let scalarArgs-          = catMaybes-              [("use_data_lengths",) . showValue <$>-                 (args !? #use_data_lengths :: Maybe Bool),-               ("use_label_lengths",) . showValue <$>-                 (args !? #use_label_lengths :: Maybe Bool),-               ("blank_label",) . showValue <$>-                 (args !? #blank_label :: Maybe (EnumType '["first", "last"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle),-               ("data_lengths",) <$>-                 (args !? #data_lengths :: Maybe SymbolHandle),-               ("label_lengths",) <$>-                 (args !? #label_lengths :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_CTCLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quadratic(symbol)" =-     '[ '("a", AttrOpt Float), '("b", AttrOpt Float),-        '("c", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_contrib_quadratic ::-                   forall args . Fullfilled "_contrib_quadratic(symbol)" args =>-                     String ->-                       ArgsHMap "_contrib_quadratic(symbol)" args -> IO SymbolHandle-_contrib_quadratic name args-  = let scalarArgs-          = catMaybes-              [("a",) . showValue <$> (args !? #a :: Maybe Float),-               ("b",) . showValue <$> (args !? #b :: Maybe Float),-               ("c",) . showValue <$> (args !? #c :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quadratic"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_backward_quadratic(symbol)" =-     '[]--_contrib_backward_quadratic ::-                            forall args .-                              Fullfilled "_contrib_backward_quadratic(symbol)" args =>-                              String ->-                                ArgsHMap "_contrib_backward_quadratic(symbol)" args ->-                                  IO SymbolHandle-_contrib_backward_quadratic name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_quadratic"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_div_sqrt_dim(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_contrib_div_sqrt_dim ::-                      forall args . Fullfilled "_contrib_div_sqrt_dim(symbol)" args =>-                        String ->-                          ArgsHMap "_contrib_div_sqrt_dim(symbol)" args -> IO SymbolHandle-_contrib_div_sqrt_dim name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_div_sqrt_dim"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "khatri_rao(symbol)" =-     '[ '("args", AttrOpt [SymbolHandle])]--khatri_rao ::-           forall args . Fullfilled "khatri_rao(symbol)" args =>-             String -> ArgsHMap "khatri_rao(symbol)" args -> IO SymbolHandle-khatri_rao name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "khatri_rao"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_contrib_ROIAlign(symbol)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float), '("sample_ratio", AttrOpt Int),-        '("data", AttrOpt SymbolHandle), '("rois", AttrOpt SymbolHandle)]--_contrib_ROIAlign ::-                  forall args . Fullfilled "_contrib_ROIAlign(symbol)" args =>-                    String ->-                      ArgsHMap "_contrib_ROIAlign(symbol)" args -> IO SymbolHandle-_contrib_ROIAlign name args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("sample_ratio",) . showValue <$>-                 (args !? #sample_ratio :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ROIAlign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_ROIAlign(symbol)" = '[]--_backward_ROIAlign ::-                   forall args . Fullfilled "_backward_ROIAlign(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_ROIAlign(symbol)" args -> IO SymbolHandle-_backward_ROIAlign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIAlign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_box_nms(symbol)" =-     '[ '("overlap_thresh", AttrOpt Float),-        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),-        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),-        '("id_index", AttrOpt Int), '("force_suppress", AttrOpt Bool),-        '("in_format", AttrOpt (EnumType '["center", "corner"])),-        '("out_format", AttrOpt (EnumType '["center", "corner"])),-        '("data", AttrOpt SymbolHandle)]--_contrib_box_nms ::-                 forall args . Fullfilled "_contrib_box_nms(symbol)" args =>-                   String ->-                     ArgsHMap "_contrib_box_nms(symbol)" args -> IO SymbolHandle-_contrib_box_nms name args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_nms"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_contrib_box_nms(symbol)" =-     '[ '("overlap_thresh", AttrOpt Float),-        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),-        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),-        '("id_index", AttrOpt Int), '("force_suppress", AttrOpt Bool),-        '("in_format", AttrOpt (EnumType '["center", "corner"])),-        '("out_format", AttrOpt (EnumType '["center", "corner"]))]--_backward_contrib_box_nms ::-                          forall args .-                            Fullfilled "_backward_contrib_box_nms(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_contrib_box_nms(symbol)" args ->-                                IO SymbolHandle-_backward_contrib_box_nms name args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_nms"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_box_iou(symbol)" =-     '[ '("format", AttrOpt (EnumType '["center", "corner"])),-        '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_contrib_box_iou ::-                 forall args . Fullfilled "_contrib_box_iou(symbol)" args =>-                   String ->-                     ArgsHMap "_contrib_box_iou(symbol)" args -> IO SymbolHandle-_contrib_box_iou name args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_iou"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_contrib_box_iou(symbol)" =-     '[ '("format", AttrOpt (EnumType '["center", "corner"]))]--_backward_contrib_box_iou ::-                          forall args .-                            Fullfilled "_backward_contrib_box_iou(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_contrib_box_iou(symbol)" args ->-                                IO SymbolHandle-_backward_contrib_box_iou name args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_iou"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_bipartite_matching(symbol)" =-     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),-        '("topk", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--_contrib_bipartite_matching ::-                            forall args .-                              Fullfilled "_contrib_bipartite_matching(symbol)" args =>-                              String ->-                                ArgsHMap "_contrib_bipartite_matching(symbol)" args ->-                                  IO SymbolHandle-_contrib_bipartite_matching name args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_bipartite_matching"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_contrib_bipartite_matching(symbol)" =-     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),-        '("topk", AttrOpt Int)]--_backward_contrib_bipartite_matching ::-                                     forall args .-                                       Fullfilled "_backward_contrib_bipartite_matching(symbol)"-                                         args =>-                                       String ->-                                         ArgsHMap "_backward_contrib_bipartite_matching(symbol)"-                                           args-                                           -> IO SymbolHandle-_backward_contrib_bipartite_matching name args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_bipartite_matching"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_BilinearResize2D(symbol)" =-     '[ '("height", AttrReq Int), '("width", AttrReq Int),-        '("data", AttrOpt SymbolHandle)]--_contrib_BilinearResize2D ::-                          forall args .-                            Fullfilled "_contrib_BilinearResize2D(symbol)" args =>-                            String ->-                              ArgsHMap "_contrib_BilinearResize2D(symbol)" args ->-                                IO SymbolHandle-_contrib_BilinearResize2D name args-  = let scalarArgs-          = catMaybes-              [("height",) . showValue <$> (args !? #height :: Maybe Int),-               ("width",) . showValue <$> (args !? #width :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_BilinearResize2D"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_contrib_BilinearResize2D(symbol)" = '[]--_backward_contrib_BilinearResize2D ::-                                   forall args .-                                     Fullfilled "_backward_contrib_BilinearResize2D(symbol)" args =>-                                     String ->-                                       ArgsHMap "_backward_contrib_BilinearResize2D(symbol)" args ->-                                         IO SymbolHandle-_backward_contrib_BilinearResize2D name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_BilinearResize2D"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_SyncBatchNorm(symbol)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("ndev", AttrOpt Int),-        '("key", AttrOpt String), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle),-        '("moving_mean", AttrOpt SymbolHandle),-        '("moving_var", AttrOpt SymbolHandle)]--_contrib_SyncBatchNorm ::-                       forall args . Fullfilled "_contrib_SyncBatchNorm(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_SyncBatchNorm(symbol)" args -> IO SymbolHandle-_contrib_SyncBatchNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("ndev",) . showValue <$> (args !? #ndev :: Maybe Int),-               ("key",) . showValue <$> (args !? #key :: Maybe String)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe SymbolHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SyncBatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_AdaptiveAvgPooling2D(symbol)"-     =-     '[ '("output_size", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--_contrib_AdaptiveAvgPooling2D ::-                              forall args .-                                Fullfilled "_contrib_AdaptiveAvgPooling2D(symbol)" args =>-                                String ->-                                  ArgsHMap "_contrib_AdaptiveAvgPooling2D(symbol)" args ->-                                    IO SymbolHandle-_contrib_AdaptiveAvgPooling2D name args-  = let scalarArgs-          = catMaybes-              [("output_size",) . showValue <$>-                 (args !? #output_size :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_AdaptiveAvgPooling2D"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_contrib_AdaptiveAvgPooling2D(symbol)" =-     '[]--_backward_contrib_AdaptiveAvgPooling2D ::-                                       forall args .-                                         Fullfilled "_backward_contrib_AdaptiveAvgPooling2D(symbol)"-                                           args =>-                                         String ->-                                           ArgsHMap "_backward_contrib_AdaptiveAvgPooling2D(symbol)"-                                             args-                                             -> IO SymbolHandle-_backward_contrib_AdaptiveAvgPooling2D name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_AdaptiveAvgPooling2D"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_to_tensor(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_image_to_tensor ::-                 forall args . Fullfilled "_image_to_tensor(symbol)" args =>-                   String ->-                     ArgsHMap "_image_to_tensor(symbol)" args -> IO SymbolHandle-_image_to_tensor name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_to_tensor"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_normalize(symbol)" =-     '[ '("mean", AttrReq [Float]), '("std", AttrReq [Float]),-        '("data", AttrOpt SymbolHandle)]--_image_normalize ::-                 forall args . Fullfilled "_image_normalize(symbol)" args =>-                   String ->-                     ArgsHMap "_image_normalize(symbol)" args -> IO SymbolHandle-_image_normalize name args-  = let scalarArgs-          = catMaybes-              [("mean",) . showValue <$> (args !? #mean :: Maybe [Float]),-               ("std",) . showValue <$> (args !? #std :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_normalize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_flip_left_right(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_image_flip_left_right ::-                       forall args . Fullfilled "_image_flip_left_right(symbol)" args =>-                         String ->-                           ArgsHMap "_image_flip_left_right(symbol)" args -> IO SymbolHandle-_image_flip_left_right name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_left_right"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_flip_left_right(symbol)"-     = '[ '("data", AttrOpt SymbolHandle)]--_image_random_flip_left_right ::-                              forall args .-                                Fullfilled "_image_random_flip_left_right(symbol)" args =>-                                String ->-                                  ArgsHMap "_image_random_flip_left_right(symbol)" args ->-                                    IO SymbolHandle-_image_random_flip_left_right name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_left_right"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_flip_top_bottom(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_image_flip_top_bottom ::-                       forall args . Fullfilled "_image_flip_top_bottom(symbol)" args =>-                         String ->-                           ArgsHMap "_image_flip_top_bottom(symbol)" args -> IO SymbolHandle-_image_flip_top_bottom name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_top_bottom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_flip_top_bottom(symbol)"-     = '[ '("data", AttrOpt SymbolHandle)]--_image_random_flip_top_bottom ::-                              forall args .-                                Fullfilled "_image_random_flip_top_bottom(symbol)" args =>-                                String ->-                                  ArgsHMap "_image_random_flip_top_bottom(symbol)" args ->-                                    IO SymbolHandle-_image_random_flip_top_bottom name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_top_bottom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_brightness(symbol)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_brightness ::-                         forall args . Fullfilled "_image_random_brightness(symbol)" args =>-                           String ->-                             ArgsHMap "_image_random_brightness(symbol)" args -> IO SymbolHandle-_image_random_brightness name args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_brightness"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_contrast(symbol)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_contrast ::-                       forall args . Fullfilled "_image_random_contrast(symbol)" args =>-                         String ->-                           ArgsHMap "_image_random_contrast(symbol)" args -> IO SymbolHandle-_image_random_contrast name args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_contrast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_saturation(symbol)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_saturation ::-                         forall args . Fullfilled "_image_random_saturation(symbol)" args =>-                           String ->-                             ArgsHMap "_image_random_saturation(symbol)" args -> IO SymbolHandle-_image_random_saturation name args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_saturation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_hue(symbol)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_hue ::-                  forall args . Fullfilled "_image_random_hue(symbol)" args =>-                    String ->-                      ArgsHMap "_image_random_hue(symbol)" args -> IO SymbolHandle-_image_random_hue name args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_hue"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_color_jitter(symbol)" =-     '[ '("brightness", AttrReq Float), '("contrast", AttrReq Float),-        '("saturation", AttrReq Float), '("hue", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_color_jitter ::-                           forall args .-                             Fullfilled "_image_random_color_jitter(symbol)" args =>-                             String ->-                               ArgsHMap "_image_random_color_jitter(symbol)" args ->-                                 IO SymbolHandle-_image_random_color_jitter name args-  = let scalarArgs-          = catMaybes-              [("brightness",) . showValue <$>-                 (args !? #brightness :: Maybe Float),-               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),-               ("saturation",) . showValue <$>-                 (args !? #saturation :: Maybe Float),-               ("hue",) . showValue <$> (args !? #hue :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_color_jitter"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_adjust_lighting(symbol)" =-     '[ '("alpha", AttrReq [Float]), '("data", AttrOpt SymbolHandle)]--_image_adjust_lighting ::-                       forall args . Fullfilled "_image_adjust_lighting(symbol)" args =>-                         String ->-                           ArgsHMap "_image_adjust_lighting(symbol)" args -> IO SymbolHandle-_image_adjust_lighting name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_adjust_lighting"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_lighting(symbol)" =-     '[ '("alpha_std", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_image_random_lighting ::-                       forall args . Fullfilled "_image_random_lighting(symbol)" args =>-                         String ->-                           ArgsHMap "_image_random_lighting(symbol)" args -> IO SymbolHandle-_image_random_lighting name args-  = let scalarArgs-          = catMaybes-              [("alpha_std",) . showValue <$>-                 (args !? #alpha_std :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_lighting"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "softmax(symbol)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("data", AttrOpt SymbolHandle)]--softmax ::-        forall args . Fullfilled "softmax(symbol)" args =>-          String -> ArgsHMap "softmax(symbol)" args -> IO SymbolHandle-softmax name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_softmax(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_softmax ::-                  forall args . Fullfilled "_backward_softmax(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_softmax(symbol)" args -> IO SymbolHandle-_backward_softmax name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log_softmax(symbol)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("data", AttrOpt SymbolHandle)]--log_softmax ::-            forall args . Fullfilled "log_softmax(symbol)" args =>-              String -> ArgsHMap "log_softmax(symbol)" args -> IO SymbolHandle-log_softmax name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log_softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log_softmax(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log_softmax ::-                      forall args . Fullfilled "_backward_log_softmax(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_log_softmax(symbol)" args -> IO SymbolHandle-_backward_log_softmax name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log_softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Pooling(symbol)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),-        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("p_value", AttrOpt (Maybe Int)),-        '("count_include_pad", AttrOpt (Maybe Bool)),-        '("data", AttrOpt SymbolHandle)]--_Pooling ::-         forall args . Fullfilled "_Pooling(symbol)" args =>-           String -> ArgsHMap "_Pooling(symbol)" args -> IO SymbolHandle-_Pooling name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Pooling(symbol)" = '[]--_backward_Pooling ::-                  forall args . Fullfilled "_backward_Pooling(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_Pooling(symbol)" args -> IO SymbolHandle-_backward_Pooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Deconvolution(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("adj", AttrOpt [Int]), '("target_shape", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle)]--_Deconvolution ::-               forall args . Fullfilled "_Deconvolution(symbol)" args =>-                 String -> ArgsHMap "_Deconvolution(symbol)" args -> IO SymbolHandle-_Deconvolution name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("adj",) . showValue <$> (args !? #adj :: Maybe [Int]),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Deconvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Deconvolution(symbol)" = '[]--_backward_Deconvolution ::-                        forall args . Fullfilled "_backward_Deconvolution(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_Deconvolution(symbol)" args -> IO SymbolHandle-_backward_Deconvolution name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Deconvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Activation(symbol)" =-     '[ '("act_type",-          AttrReq-            (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"])),-        '("data", AttrOpt SymbolHandle)]--_Activation ::-            forall args . Fullfilled "_Activation(symbol)" args =>-              String -> ArgsHMap "_Activation(symbol)" args -> IO SymbolHandle-_Activation name args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Activation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Activation(symbol)" = '[]--_backward_Activation ::-                     forall args . Fullfilled "_backward_Activation(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_Activation(symbol)" args -> IO SymbolHandle-_backward_Activation name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Activation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_UpSampling(symbol)" =-     '[ '("scale", AttrReq Int), '("num_filter", AttrOpt Int),-        '("sample_type", AttrReq (EnumType '["bilinear", "nearest"])),-        '("multi_input_mode", AttrOpt (EnumType '["concat", "sum"])),-        '("num_args", AttrReq Int), '("workspace", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--_UpSampling ::-            forall args . Fullfilled "_UpSampling(symbol)" args =>-              String -> ArgsHMap "_UpSampling(symbol)" args -> IO SymbolHandle-_UpSampling name args-  = let scalarArgs-          = catMaybes-              [("scale",) . showValue <$> (args !? #scale :: Maybe Int),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("sample_type",) . showValue <$>-                 (args !? #sample_type ::-                    Maybe (EnumType '["bilinear", "nearest"])),-               ("multi_input_mode",) . showValue <$>-                 (args !? #multi_input_mode :: Maybe (EnumType '["concat", "sum"])),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "UpSampling"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_UpSampling(symbol)" = '[]--_backward_UpSampling ::-                     forall args . Fullfilled "_backward_UpSampling(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_UpSampling(symbol)" args -> IO SymbolHandle-_backward_UpSampling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_UpSampling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BatchNorm(symbol)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle),-        '("moving_mean", AttrOpt SymbolHandle),-        '("moving_var", AttrOpt SymbolHandle)]--_BatchNorm ::-           forall args . Fullfilled "_BatchNorm(symbol)" args =>-             String -> ArgsHMap "_BatchNorm(symbol)" args -> IO SymbolHandle-_BatchNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe SymbolHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_BatchNorm(symbol)" = '[]--_backward_BatchNorm ::-                    forall args . Fullfilled "_backward_BatchNorm(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_BatchNorm(symbol)" args -> IO SymbolHandle-_backward_BatchNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_FullyConnected(symbol)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle), '("bias", AttrOpt SymbolHandle)]--_FullyConnected ::-                forall args . Fullfilled "_FullyConnected(symbol)" args =>-                  String ->-                    ArgsHMap "_FullyConnected(symbol)" args -> IO SymbolHandle-_FullyConnected name args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "FullyConnected"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_FullyConnected(symbol)" =-     '[]--_backward_FullyConnected ::-                         forall args . Fullfilled "_backward_FullyConnected(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_FullyConnected(symbol)" args -> IO SymbolHandle-_backward_FullyConnected name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_FullyConnected"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Convolution(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle)]--_Convolution ::-             forall args . Fullfilled "_Convolution(symbol)" args =>-               String -> ArgsHMap "_Convolution(symbol)" args -> IO SymbolHandle-_Convolution name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Convolution(symbol)" = '[]--_backward_Convolution ::-                      forall args . Fullfilled "_backward_Convolution(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_Convolution(symbol)" args -> IO SymbolHandle-_backward_Convolution name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LayerNorm(symbol)" =-     '[ '("axis", AttrOpt Int), '("eps", AttrOpt Float),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle), '("gamma", AttrOpt SymbolHandle),-        '("beta", AttrOpt SymbolHandle)]--_LayerNorm ::-           forall args . Fullfilled "_LayerNorm(symbol)" args =>-             String -> ArgsHMap "_LayerNorm(symbol)" args -> IO SymbolHandle-_LayerNorm name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LayerNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_LayerNorm(symbol)" = '[]--_backward_LayerNorm ::-                    forall args . Fullfilled "_backward_LayerNorm(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_LayerNorm(symbol)" args -> IO SymbolHandle-_backward_LayerNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LayerNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Concat(symbol)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--_Concat ::-        forall args . Fullfilled "_Concat(symbol)" args =>-          String -> ArgsHMap "_Concat(symbol)" args -> IO SymbolHandle-_Concat name args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "Concat"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_Concat(symbol)" = '[]--_backward_Concat ::-                 forall args . Fullfilled "_backward_Concat(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_Concat(symbol)" args -> IO SymbolHandle-_backward_Concat name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Concat"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rnn_param_concat(symbol)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--_rnn_param_concat ::-                  forall args . Fullfilled "_rnn_param_concat(symbol)" args =>-                    String ->-                      ArgsHMap "_rnn_param_concat(symbol)" args -> IO SymbolHandle-_rnn_param_concat name args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "_rnn_param_concat"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_SoftmaxActivation(symbol)" =-     '[ '("mode", AttrOpt (EnumType '["channel", "instance"])),-        '("data", AttrOpt SymbolHandle)]--_SoftmaxActivation ::-                   forall args . Fullfilled "_SoftmaxActivation(symbol)" args =>-                     String ->-                       ArgsHMap "_SoftmaxActivation(symbol)" args -> IO SymbolHandle-_SoftmaxActivation name args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["channel", "instance"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxActivation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SoftmaxActivation(symbol)" =-     '[]--_backward_SoftmaxActivation ::-                            forall args .-                              Fullfilled "_backward_SoftmaxActivation(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_SoftmaxActivation(symbol)" args ->-                                  IO SymbolHandle-_backward_SoftmaxActivation name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxActivation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LRN(symbol)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("knorm", AttrOpt Float), '("nsize", AttrReq Int),-        '("data", AttrOpt SymbolHandle)]--_LRN ::-     forall args . Fullfilled "_LRN(symbol)" args =>-       String -> ArgsHMap "_LRN(symbol)" args -> IO SymbolHandle-_LRN name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("knorm",) . showValue <$> (args !? #knorm :: Maybe Float),-               ("nsize",) . showValue <$> (args !? #nsize :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LRN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_LRN(symbol)" = '[]--_backward_LRN ::-              forall args . Fullfilled "_backward_LRN(symbol)" args =>-                String -> ArgsHMap "_backward_LRN(symbol)" args -> IO SymbolHandle-_backward_LRN name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LRN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Dropout(symbol)" =-     '[ '("p", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["always", "training"])),-        '("axes", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--_Dropout ::-         forall args . Fullfilled "_Dropout(symbol)" args =>-           String -> ArgsHMap "_Dropout(symbol)" args -> IO SymbolHandle-_Dropout name args-  = let scalarArgs-          = catMaybes-              [("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["always", "training"])),-               ("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Dropout"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Dropout(symbol)" = '[]--_backward_Dropout ::-                  forall args . Fullfilled "_backward_Dropout(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_Dropout(symbol)" args -> IO SymbolHandle-_backward_Dropout name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Dropout"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_dequantize(symbol)" =-     '[ '("out_type", AttrOpt (EnumType '["float32"])),-        '("data", AttrOpt SymbolHandle),-        '("min_range", AttrOpt SymbolHandle),-        '("max_range", AttrOpt SymbolHandle)]--_contrib_dequantize ::-                    forall args . Fullfilled "_contrib_dequantize(symbol)" args =>-                      String ->-                        ArgsHMap "_contrib_dequantize(symbol)" args -> IO SymbolHandle-_contrib_dequantize name args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["float32"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe SymbolHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dequantize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantized_flatten(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("min_data", AttrOpt SymbolHandle),-        '("max_data", AttrOpt SymbolHandle)]--_contrib_quantized_flatten ::-                           forall args .-                             Fullfilled "_contrib_quantized_flatten(symbol)" args =>-                             String ->-                               ArgsHMap "_contrib_quantized_flatten(symbol)" args ->-                                 IO SymbolHandle-_contrib_quantized_flatten name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe SymbolHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_flatten"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantized_conv(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle),-        '("min_data", AttrOpt SymbolHandle),-        '("max_data", AttrOpt SymbolHandle),-        '("min_weight", AttrOpt SymbolHandle),-        '("max_weight", AttrOpt SymbolHandle),-        '("min_bias", AttrOpt SymbolHandle),-        '("max_bias", AttrOpt SymbolHandle)]--_contrib_quantized_conv ::-                        forall args . Fullfilled "_contrib_quantized_conv(symbol)" args =>-                          String ->-                            ArgsHMap "_contrib_quantized_conv(symbol)" args -> IO SymbolHandle-_contrib_quantized_conv name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe SymbolHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe SymbolHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe SymbolHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe SymbolHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe SymbolHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_conv"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_contrib_quantized_fully_connected(symbol)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle), '("bias", AttrOpt SymbolHandle),-        '("min_data", AttrOpt SymbolHandle),-        '("max_data", AttrOpt SymbolHandle),-        '("min_weight", AttrOpt SymbolHandle),-        '("max_weight", AttrOpt SymbolHandle),-        '("min_bias", AttrOpt SymbolHandle),-        '("max_bias", AttrOpt SymbolHandle)]--_contrib_quantized_fully_connected ::-                                   forall args .-                                     Fullfilled "_contrib_quantized_fully_connected(symbol)" args =>-                                     String ->-                                       ArgsHMap "_contrib_quantized_fully_connected(symbol)" args ->-                                         IO SymbolHandle-_contrib_quantized_fully_connected name args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe SymbolHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe SymbolHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe SymbolHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe SymbolHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe SymbolHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_fully_connected"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantized_pooling(symbol)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),-        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("p_value", AttrOpt (Maybe Int)),-        '("count_include_pad", AttrOpt (Maybe Bool)),-        '("data", AttrOpt SymbolHandle),-        '("min_data", AttrOpt SymbolHandle),-        '("max_data", AttrOpt SymbolHandle)]--_contrib_quantized_pooling ::-                           forall args .-                             Fullfilled "_contrib_quantized_pooling(symbol)" args =>-                             String ->-                               ArgsHMap "_contrib_quantized_pooling(symbol)" args ->-                                 IO SymbolHandle-_contrib_quantized_pooling name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe SymbolHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_pooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_requantize(symbol)" =-     '[ '("min_calib_range", AttrOpt (Maybe Float)),-        '("max_calib_range", AttrOpt (Maybe Float)),-        '("data", AttrOpt SymbolHandle),-        '("min_range", AttrOpt SymbolHandle),-        '("max_range", AttrOpt SymbolHandle)]--_contrib_requantize ::-                    forall args . Fullfilled "_contrib_requantize(symbol)" args =>-                      String ->-                        ArgsHMap "_contrib_requantize(symbol)" args -> IO SymbolHandle-_contrib_requantize name args-  = let scalarArgs-          = catMaybes-              [("min_calib_range",) . showValue <$>-                 (args !? #min_calib_range :: Maybe (Maybe Float)),-               ("max_calib_range",) . showValue <$>-                 (args !? #max_calib_range :: Maybe (Maybe Float))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe SymbolHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_requantize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantize(symbol)" =-     '[ '("out_type", AttrOpt (EnumType '["int8", "uint8"])),-        '("data", AttrOpt SymbolHandle),-        '("min_range", AttrOpt SymbolHandle),-        '("max_range", AttrOpt SymbolHandle)]--_contrib_quantize ::-                  forall args . Fullfilled "_contrib_quantize(symbol)" args =>-                    String ->-                      ArgsHMap "_contrib_quantize(symbol)" args -> IO SymbolHandle-_contrib_quantize name args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["int8", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe SymbolHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_cvimread(symbol)" =-     '[ '("filename", AttrReq String), '("flag", AttrOpt Int),-        '("to_rgb", AttrOpt Bool)]--_cvimread ::-          forall args . Fullfilled "_cvimread(symbol)" args =>-            String -> ArgsHMap "_cvimread(symbol)" args -> IO SymbolHandle-_cvimread name args-  = let scalarArgs-          = catMaybes-              [("filename",) . showValue <$> (args !? #filename :: Maybe String),-               ("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimread"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_NoGradient(symbol)" = '[]--_NoGradient ::-            forall args . Fullfilled "_NoGradient(symbol)" args =>-              String -> ArgsHMap "_NoGradient(symbol)" args -> IO SymbolHandle-_NoGradient name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_NoGradient"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CachedOp(symbol)" = '[]--_CachedOp ::-          forall args . Fullfilled "_CachedOp(symbol)" args =>-            String -> ArgsHMap "_CachedOp(symbol)" args -> IO SymbolHandle-_CachedOp name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CachedOp"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_CachedOp(symbol)" = '[]--_backward_CachedOp ::-                   forall args . Fullfilled "_backward_CachedOp(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_CachedOp(symbol)" args -> IO SymbolHandle-_backward_CachedOp name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CachedOp"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "softmax_cross_entropy(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--softmax_cross_entropy ::-                      forall args . Fullfilled "softmax_cross_entropy(symbol)" args =>-                        String ->-                          ArgsHMap "softmax_cross_entropy(symbol)" args -> IO SymbolHandle-softmax_cross_entropy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax_cross_entropy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_softmax_cross_entropy(symbol)" = '[]--_backward_softmax_cross_entropy ::-                                forall args .-                                  Fullfilled "_backward_softmax_cross_entropy(symbol)" args =>-                                  String ->-                                    ArgsHMap "_backward_softmax_cross_entropy(symbol)" args ->-                                      IO SymbolHandle-_backward_softmax_cross_entropy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax_cross_entropy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Pad(symbol)" =-     '[ '("mode", AttrReq (EnumType '["constant", "edge", "reflect"])),-        '("pad_width", AttrReq [Int]), '("constant_value", AttrOpt Double),-        '("data", AttrOpt SymbolHandle)]--_Pad ::-     forall args . Fullfilled "_Pad(symbol)" args =>-       String -> ArgsHMap "_Pad(symbol)" args -> IO SymbolHandle-_Pad name args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["constant", "edge", "reflect"])),-               ("pad_width",) . showValue <$> (args !? #pad_width :: Maybe [Int]),-               ("constant_value",) . showValue <$>-                 (args !? #constant_value :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pad"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_foreach(symbol)" = '[]--_backward_foreach ::-                  forall args . Fullfilled "_backward_foreach(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_foreach(symbol)" args -> IO SymbolHandle-_backward_foreach name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_foreach"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_while_loop(symbol)" = '[]--_backward_while_loop ::-                     forall args . Fullfilled "_backward_while_loop(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_while_loop(symbol)" args -> IO SymbolHandle-_backward_while_loop name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_while_loop"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cond(symbol)" = '[]--_backward_cond ::-               forall args . Fullfilled "_backward_cond(symbol)" args =>-                 String -> ArgsHMap "_backward_cond(symbol)" args -> IO SymbolHandle-_backward_cond name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cond"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LeakyReLU(symbol)" =-     '[ '("act_type",-          AttrOpt (EnumType '["elu", "leaky", "prelu", "rrelu", "selu"])),-        '("slope", AttrOpt Float), '("lower_bound", AttrOpt Float),-        '("upper_bound", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle)]--_LeakyReLU ::-           forall args . Fullfilled "_LeakyReLU(symbol)" args =>-             String -> ArgsHMap "_LeakyReLU(symbol)" args -> IO SymbolHandle-_LeakyReLU name args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe (EnumType '["elu", "leaky", "prelu", "rrelu", "selu"])),-               ("slope",) . showValue <$> (args !? #slope :: Maybe Float),-               ("lower_bound",) . showValue <$>-                 (args !? #lower_bound :: Maybe Float),-               ("upper_bound",) . showValue <$>-                 (args !? #upper_bound :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LeakyReLU"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SwapAxis(symbol)" =-     '[ '("dim1", AttrOpt Int), '("dim2", AttrOpt Int),-        '("data", AttrOpt SymbolHandle)]--_SwapAxis ::-          forall args . Fullfilled "_SwapAxis(symbol)" args =>-            String -> ArgsHMap "_SwapAxis(symbol)" args -> IO SymbolHandle-_SwapAxis name args-  = let scalarArgs-          = catMaybes-              [("dim1",) . showValue <$> (args !? #dim1 :: Maybe Int),-               ("dim2",) . showValue <$> (args !? #dim2 :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SwapAxis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_IdentityAttachKLSparseReg(symbol)" =-     '[ '("sparseness_target", AttrOpt Float),-        '("penalty", AttrOpt Float), '("momentum", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_IdentityAttachKLSparseReg ::-                           forall args .-                             Fullfilled "_IdentityAttachKLSparseReg(symbol)" args =>-                             String ->-                               ArgsHMap "_IdentityAttachKLSparseReg(symbol)" args ->-                                 IO SymbolHandle-_IdentityAttachKLSparseReg name args-  = let scalarArgs-          = catMaybes-              [("sparseness_target",) . showValue <$>-                 (args !? #sparseness_target :: Maybe Float),-               ("penalty",) . showValue <$> (args !? #penalty :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "IdentityAttachKLSparseReg"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SliceChannel(symbol)" =-     '[ '("num_outputs", AttrReq Int), '("axis", AttrOpt Int),-        '("squeeze_axis", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--_SliceChannel ::-              forall args . Fullfilled "_SliceChannel(symbol)" args =>-                String -> ArgsHMap "_SliceChannel(symbol)" args -> IO SymbolHandle-_SliceChannel name args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SliceChannel"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BatchNorm_v1(symbol)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle), '("gamma", AttrOpt SymbolHandle),-        '("beta", AttrOpt SymbolHandle)]--_BatchNorm_v1 ::-              forall args . Fullfilled "_BatchNorm_v1(symbol)" args =>-                String -> ArgsHMap "_BatchNorm_v1(symbol)" args -> IO SymbolHandle-_BatchNorm_v1 name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "signsgd_update(symbol)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle)]--signsgd_update ::-               forall args . Fullfilled "signsgd_update(symbol)" args =>-                 String -> ArgsHMap "signsgd_update(symbol)" args -> IO SymbolHandle-signsgd_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signsgd_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "signum_update(symbol)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("wd_lh", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mom", AttrOpt SymbolHandle)]--signum_update ::-              forall args . Fullfilled "signum_update(symbol)" args =>-                String -> ArgsHMap "signum_update(symbol)" args -> IO SymbolHandle-signum_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("wd_lh",) . showValue <$> (args !? #wd_lh :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mom",) <$> (args !? #mom :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signum_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sgd_update(symbol)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle)]--sgd_update ::-           forall args . Fullfilled "sgd_update(symbol)" args =>-             String -> ArgsHMap "sgd_update(symbol)" args -> IO SymbolHandle-sgd_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sgd_mom_update(symbol)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mom", AttrOpt SymbolHandle)]--sgd_mom_update ::-               forall args . Fullfilled "sgd_mom_update(symbol)" args =>-                 String -> ArgsHMap "sgd_mom_update(symbol)" args -> IO SymbolHandle-sgd_mom_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mom",) <$> (args !? #mom :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_mom_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "mp_sgd_update(symbol)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("weight32", AttrOpt SymbolHandle)]--mp_sgd_update ::-              forall args . Fullfilled "mp_sgd_update(symbol)" args =>-                String -> ArgsHMap "mp_sgd_update(symbol)" args -> IO SymbolHandle-mp_sgd_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "mp_sgd_mom_update(symbol)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mom", AttrOpt SymbolHandle),-        '("weight32", AttrOpt SymbolHandle)]--mp_sgd_mom_update ::-                  forall args . Fullfilled "mp_sgd_mom_update(symbol)" args =>-                    String ->-                      ArgsHMap "mp_sgd_mom_update(symbol)" args -> IO SymbolHandle-mp_sgd_mom_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mom",) <$> (args !? #mom :: Maybe SymbolHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_mom_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ftml_update(symbol)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Double),-        '("t", AttrReq Int), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float), '("clip_grad", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("d", AttrOpt SymbolHandle), '("v", AttrOpt SymbolHandle),-        '("z", AttrOpt SymbolHandle)]--ftml_update ::-            forall args . Fullfilled "ftml_update(symbol)" args =>-              String -> ArgsHMap "ftml_update(symbol)" args -> IO SymbolHandle-ftml_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Double),-               ("t",) . showValue <$> (args !? #t :: Maybe Int),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_grad",) . showValue <$> (args !? #clip_grad :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("d",) <$> (args !? #d :: Maybe SymbolHandle),-               ("v",) <$> (args !? #v :: Maybe SymbolHandle),-               ("z",) <$> (args !? #z :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftml_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "adam_update(symbol)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mean", AttrOpt SymbolHandle), '("var", AttrOpt SymbolHandle)]--adam_update ::-            forall args . Fullfilled "adam_update(symbol)" args =>-              String -> ArgsHMap "adam_update(symbol)" args -> IO SymbolHandle-adam_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mean",) <$> (args !? #mean :: Maybe SymbolHandle),-               ("var",) <$> (args !? #var :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "adam_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rmsprop_update(symbol)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("epsilon", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("n", AttrOpt SymbolHandle)]--rmsprop_update ::-               forall args . Fullfilled "rmsprop_update(symbol)" args =>-                 String -> ArgsHMap "rmsprop_update(symbol)" args -> IO SymbolHandle-rmsprop_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("n",) <$> (args !? #n :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmsprop_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rmspropalex_update(symbol)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("gamma2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("n", AttrOpt SymbolHandle), '("g", AttrOpt SymbolHandle),-        '("delta", AttrOpt SymbolHandle)]--rmspropalex_update ::-                   forall args . Fullfilled "rmspropalex_update(symbol)" args =>-                     String ->-                       ArgsHMap "rmspropalex_update(symbol)" args -> IO SymbolHandle-rmspropalex_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("gamma2",) . showValue <$> (args !? #gamma2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("n",) <$> (args !? #n :: Maybe SymbolHandle),-               ("g",) <$> (args !? #g :: Maybe SymbolHandle),-               ("delta",) <$> (args !? #delta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmspropalex_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ftrl_update(symbol)" =-     '[ '("lr", AttrReq Float), '("lamda1", AttrOpt Float),-        '("beta", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("z", AttrOpt SymbolHandle), '("n", AttrOpt SymbolHandle)]--ftrl_update ::-            forall args . Fullfilled "ftrl_update(symbol)" args =>-              String -> ArgsHMap "ftrl_update(symbol)" args -> IO SymbolHandle-ftrl_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("lamda1",) . showValue <$> (args !? #lamda1 :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("z",) <$> (args !? #z :: Maybe SymbolHandle),-               ("n",) <$> (args !? #n :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftrl_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sparse_adagrad_update(symbol)" =-     '[ '("lr", AttrReq Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("history", AttrOpt SymbolHandle)]--_sparse_adagrad_update ::-                       forall args . Fullfilled "_sparse_adagrad_update(symbol)" args =>-                         String ->-                           ArgsHMap "_sparse_adagrad_update(symbol)" args -> IO SymbolHandle-_sparse_adagrad_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("history",) <$> (args !? #history :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_adagrad_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LinearRegressionOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_LinearRegressionOutput ::-                        forall args . Fullfilled "_LinearRegressionOutput(symbol)" args =>-                          String ->-                            ArgsHMap "_LinearRegressionOutput(symbol)" args -> IO SymbolHandle-_LinearRegressionOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LinearRegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linear_reg_out(symbol)" =-     '[]--_backward_linear_reg_out ::-                         forall args . Fullfilled "_backward_linear_reg_out(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_linear_reg_out(symbol)" args -> IO SymbolHandle-_backward_linear_reg_out name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linear_reg_out"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_MAERegressionOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_MAERegressionOutput ::-                     forall args . Fullfilled "_MAERegressionOutput(symbol)" args =>-                       String ->-                         ArgsHMap "_MAERegressionOutput(symbol)" args -> IO SymbolHandle-_MAERegressionOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MAERegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mae_reg_out(symbol)" = '[]--_backward_mae_reg_out ::-                      forall args . Fullfilled "_backward_mae_reg_out(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_mae_reg_out(symbol)" args -> IO SymbolHandle-_backward_mae_reg_out name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mae_reg_out"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LogisticRegressionOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_LogisticRegressionOutput ::-                          forall args .-                            Fullfilled "_LogisticRegressionOutput(symbol)" args =>-                            String ->-                              ArgsHMap "_LogisticRegressionOutput(symbol)" args ->-                                IO SymbolHandle-_LogisticRegressionOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LogisticRegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_logistic_reg_out(symbol)" =-     '[]--_backward_logistic_reg_out ::-                           forall args .-                             Fullfilled "_backward_logistic_reg_out(symbol)" args =>-                             String ->-                               ArgsHMap "_backward_logistic_reg_out(symbol)" args ->-                                 IO SymbolHandle-_backward_logistic_reg_out name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_logistic_reg_out"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CustomFunction(symbol)" = '[]--_CustomFunction ::-                forall args . Fullfilled "_CustomFunction(symbol)" args =>-                  String ->-                    ArgsHMap "_CustomFunction(symbol)" args -> IO SymbolHandle-_CustomFunction name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CustomFunction"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_CustomFunction(symbol)" =-     '[]--_backward_CustomFunction ::-                         forall args . Fullfilled "_backward_CustomFunction(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_CustomFunction(symbol)" args -> IO SymbolHandle-_backward_CustomFunction name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CustomFunction"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__Native(symbol)" = '[]--_backward__Native ::-                  forall args . Fullfilled "_backward__Native(symbol)" args =>-                    String ->-                      ArgsHMap "_backward__Native(symbol)" args -> IO SymbolHandle-_backward__Native name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__Native"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__NDArray(symbol)" = '[]--_backward__NDArray ::-                   forall args . Fullfilled "_backward__NDArray(symbol)" args =>-                     String ->-                       ArgsHMap "_backward__NDArray(symbol)" args -> IO SymbolHandle-_backward__NDArray name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__NDArray"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiBoxTarget(symbol)" =-     '[ '("overlap_threshold", AttrOpt Float),-        '("ignore_label", AttrOpt Float),-        '("negative_mining_ratio", AttrOpt Float),-        '("negative_mining_thresh", AttrOpt Float),-        '("minimum_negative_samples", AttrOpt Int),-        '("variances", AttrOpt [Float]), '("anchor", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle),-        '("cls_pred", AttrOpt SymbolHandle)]--_contrib_MultiBoxTarget ::-                        forall args . Fullfilled "_contrib_MultiBoxTarget(symbol)" args =>-                          String ->-                            ArgsHMap "_contrib_MultiBoxTarget(symbol)" args -> IO SymbolHandle-_contrib_MultiBoxTarget name args-  = let scalarArgs-          = catMaybes-              [("overlap_threshold",) . showValue <$>-                 (args !? #overlap_threshold :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("negative_mining_ratio",) . showValue <$>-                 (args !? #negative_mining_ratio :: Maybe Float),-               ("negative_mining_thresh",) . showValue <$>-                 (args !? #negative_mining_thresh :: Maybe Float),-               ("minimum_negative_samples",) . showValue <$>-                 (args !? #minimum_negative_samples :: Maybe Int),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("anchor",) <$> (args !? #anchor :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle),-               ("cls_pred",) <$> (args !? #cls_pred :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxTarget"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiBoxTarget(symbol)" = '[]--_backward__contrib_MultiBoxTarget ::-                                  forall args .-                                    Fullfilled "_backward__contrib_MultiBoxTarget(symbol)" args =>-                                    String ->-                                      ArgsHMap "_backward__contrib_MultiBoxTarget(symbol)" args ->-                                        IO SymbolHandle-_backward__contrib_MultiBoxTarget name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxTarget"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_Proposal(symbol)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt SymbolHandle),-        '("bbox_pred", AttrOpt SymbolHandle),-        '("im_info", AttrOpt SymbolHandle)]--_contrib_Proposal ::-                  forall args . Fullfilled "_contrib_Proposal(symbol)" args =>-                    String ->-                      ArgsHMap "_contrib_Proposal(symbol)" args -> IO SymbolHandle-_contrib_Proposal name args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe SymbolHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe SymbolHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_Proposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_Proposal(symbol)" =-     '[]--_backward__contrib_Proposal ::-                            forall args .-                              Fullfilled "_backward__contrib_Proposal(symbol)" args =>-                              String ->-                                ArgsHMap "_backward__contrib_Proposal(symbol)" args ->-                                  IO SymbolHandle-_backward__contrib_Proposal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_Proposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_count_sketch(symbol)" =-     '[ '("out_dim", AttrReq Int),-        '("processing_batch_size", AttrOpt Int),-        '("data", AttrOpt SymbolHandle), '("h", AttrOpt SymbolHandle),-        '("s", AttrOpt SymbolHandle)]--_contrib_count_sketch ::-                      forall args . Fullfilled "_contrib_count_sketch(symbol)" args =>-                        String ->-                          ArgsHMap "_contrib_count_sketch(symbol)" args -> IO SymbolHandle-_contrib_count_sketch name args-  = let scalarArgs-          = catMaybes-              [("out_dim",) . showValue <$> (args !? #out_dim :: Maybe Int),-               ("processing_batch_size",) . showValue <$>-                 (args !? #processing_batch_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("h",) <$> (args !? #h :: Maybe SymbolHandle),-               ("s",) <$> (args !? #s :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_count_sketch"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_count_sketch(symbol)" = '[]--_backward__contrib_count_sketch ::-                                forall args .-                                  Fullfilled "_backward__contrib_count_sketch(symbol)" args =>-                                  String ->-                                    ArgsHMap "_backward__contrib_count_sketch(symbol)" args ->-                                      IO SymbolHandle-_backward__contrib_count_sketch name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_count_sketch"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiBoxDetection(symbol)" =-     '[ '("clip", AttrOpt Bool), '("threshold", AttrOpt Float),-        '("background_id", AttrOpt Int), '("nms_threshold", AttrOpt Float),-        '("force_suppress", AttrOpt Bool), '("variances", AttrOpt [Float]),-        '("nms_topk", AttrOpt Int), '("cls_prob", AttrOpt SymbolHandle),-        '("loc_pred", AttrOpt SymbolHandle),-        '("anchor", AttrOpt SymbolHandle)]--_contrib_MultiBoxDetection ::-                           forall args .-                             Fullfilled "_contrib_MultiBoxDetection(symbol)" args =>-                             String ->-                               ArgsHMap "_contrib_MultiBoxDetection(symbol)" args ->-                                 IO SymbolHandle-_contrib_MultiBoxDetection name args-  = let scalarArgs-          = catMaybes-              [("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("nms_threshold",) . showValue <$>-                 (args !? #nms_threshold :: Maybe Float),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float]),-               ("nms_topk",) . showValue <$> (args !? #nms_topk :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe SymbolHandle),-               ("loc_pred",) <$> (args !? #loc_pred :: Maybe SymbolHandle),-               ("anchor",) <$> (args !? #anchor :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxDetection"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiBoxDetection(symbol)" = '[]--_backward__contrib_MultiBoxDetection ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiBoxDetection(symbol)"-                                         args =>-                                       String ->-                                         ArgsHMap "_backward__contrib_MultiBoxDetection(symbol)"-                                           args-                                           -> IO SymbolHandle-_backward__contrib_MultiBoxDetection name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxDetection"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_contrib_DeformablePSROIPooling(symbol)" =-     '[ '("spatial_scale", AttrReq Float), '("output_dim", AttrReq Int),-        '("group_size", AttrReq Int), '("pooled_size", AttrReq Int),-        '("part_size", AttrOpt Int), '("sample_per_part", AttrOpt Int),-        '("trans_std", AttrOpt Float), '("no_trans", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle), '("rois", AttrOpt SymbolHandle),-        '("trans", AttrOpt SymbolHandle)]--_contrib_DeformablePSROIPooling ::-                                forall args .-                                  Fullfilled "_contrib_DeformablePSROIPooling(symbol)" args =>-                                  String ->-                                    ArgsHMap "_contrib_DeformablePSROIPooling(symbol)" args ->-                                      IO SymbolHandle-_contrib_DeformablePSROIPooling name args-  = let scalarArgs-          = catMaybes-              [("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("group_size",) . showValue <$> (args !? #group_size :: Maybe Int),-               ("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe Int),-               ("part_size",) . showValue <$> (args !? #part_size :: Maybe Int),-               ("sample_per_part",) . showValue <$>-                 (args !? #sample_per_part :: Maybe Int),-               ("trans_std",) . showValue <$> (args !? #trans_std :: Maybe Float),-               ("no_trans",) . showValue <$> (args !? #no_trans :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle),-               ("trans",) <$> (args !? #trans :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformablePSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_DeformablePSROIPooling(symbol)" =-     '[]--_backward__contrib_DeformablePSROIPooling ::-                                          forall args .-                                            Fullfilled-                                              "_backward__contrib_DeformablePSROIPooling(symbol)"-                                              args =>-                                            String ->-                                              ArgsHMap-                                                "_backward__contrib_DeformablePSROIPooling(symbol)"-                                                args-                                                -> IO SymbolHandle-_backward__contrib_DeformablePSROIPooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformablePSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_CTCLoss(symbol)" =-     '[]--_backward__contrib_CTCLoss ::-                           forall args .-                             Fullfilled "_backward__contrib_CTCLoss(symbol)" args =>-                             String ->-                               ArgsHMap "_backward__contrib_CTCLoss(symbol)" args ->-                                 IO SymbolHandle-_backward__contrib_CTCLoss name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_CTCLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiProposal(symbol)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt SymbolHandle),-        '("bbox_pred", AttrOpt SymbolHandle),-        '("im_info", AttrOpt SymbolHandle)]--_contrib_MultiProposal ::-                       forall args . Fullfilled "_contrib_MultiProposal(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_MultiProposal(symbol)" args -> IO SymbolHandle-_contrib_MultiProposal name args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe SymbolHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe SymbolHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiProposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiProposal(symbol)" = '[]--_backward__contrib_MultiProposal ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiProposal(symbol)" args =>-                                   String ->-                                     ArgsHMap "_backward__contrib_MultiProposal(symbol)" args ->-                                       IO SymbolHandle-_backward__contrib_MultiProposal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiProposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiBoxPrior(symbol)" =-     '[ '("sizes", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("clip", AttrOpt Bool), '("steps", AttrOpt [Float]),-        '("offsets", AttrOpt [Float]), '("data", AttrOpt SymbolHandle)]--_contrib_MultiBoxPrior ::-                       forall args . Fullfilled "_contrib_MultiBoxPrior(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_MultiBoxPrior(symbol)" args -> IO SymbolHandle-_contrib_MultiBoxPrior name args-  = let scalarArgs-          = catMaybes-              [("sizes",) . showValue <$> (args !? #sizes :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("steps",) . showValue <$> (args !? #steps :: Maybe [Float]),-               ("offsets",) . showValue <$> (args !? #offsets :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxPrior"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiBoxPrior(symbol)" = '[]--_backward__contrib_MultiBoxPrior ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiBoxPrior(symbol)" args =>-                                   String ->-                                     ArgsHMap "_backward__contrib_MultiBoxPrior(symbol)" args ->-                                       IO SymbolHandle-_backward__contrib_MultiBoxPrior name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxPrior"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_fft(symbol)" =-     '[ '("compute_size", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--_contrib_fft ::-             forall args . Fullfilled "_contrib_fft(symbol)" args =>-               String -> ArgsHMap "_contrib_fft(symbol)" args -> IO SymbolHandle-_contrib_fft name args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_fft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_fft(symbol)" = '[]--_backward__contrib_fft ::-                       forall args . Fullfilled "_backward__contrib_fft(symbol)" args =>-                         String ->-                           ArgsHMap "_backward__contrib_fft(symbol)" args -> IO SymbolHandle-_backward__contrib_fft name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_fft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_PSROIPooling(symbol)" =-     '[ '("spatial_scale", AttrReq Float), '("output_dim", AttrReq Int),-        '("pooled_size", AttrReq Int), '("group_size", AttrOpt Int),-        '("data", AttrOpt SymbolHandle), '("rois", AttrOpt SymbolHandle)]--_contrib_PSROIPooling ::-                      forall args . Fullfilled "_contrib_PSROIPooling(symbol)" args =>-                        String ->-                          ArgsHMap "_contrib_PSROIPooling(symbol)" args -> IO SymbolHandle-_contrib_PSROIPooling name args-  = let scalarArgs-          = catMaybes-              [("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe Int),-               ("group_size",) . showValue <$> (args !? #group_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_PSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_PSROIPooling(symbol)" = '[]--_backward__contrib_PSROIPooling ::-                                forall args .-                                  Fullfilled "_backward__contrib_PSROIPooling(symbol)" args =>-                                  String ->-                                    ArgsHMap "_backward__contrib_PSROIPooling(symbol)" args ->-                                      IO SymbolHandle-_backward__contrib_PSROIPooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_PSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_contrib_DeformableConvolution(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("num_deformable_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("layout", AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NCW"]))),-        '("data", AttrOpt SymbolHandle), '("offset", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle), '("bias", AttrOpt SymbolHandle)]--_contrib_DeformableConvolution ::-                               forall args .-                                 Fullfilled "_contrib_DeformableConvolution(symbol)" args =>-                                 String ->-                                   ArgsHMap "_contrib_DeformableConvolution(symbol)" args ->-                                     IO SymbolHandle-_contrib_DeformableConvolution name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("num_deformable_group",) . showValue <$>-                 (args !? #num_deformable_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NCW"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("offset",) <$> (args !? #offset :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformableConvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_DeformableConvolution(symbol)" =-     '[]--_backward__contrib_DeformableConvolution ::-                                         forall args .-                                           Fullfilled-                                             "_backward__contrib_DeformableConvolution(symbol)"-                                             args =>-                                           String ->-                                             ArgsHMap-                                               "_backward__contrib_DeformableConvolution(symbol)"-                                               args-                                               -> IO SymbolHandle-_backward__contrib_DeformableConvolution name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformableConvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_ifft(symbol)" =-     '[ '("compute_size", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--_contrib_ifft ::-              forall args . Fullfilled "_contrib_ifft(symbol)" args =>-                String -> ArgsHMap "_contrib_ifft(symbol)" args -> IO SymbolHandle-_contrib_ifft name args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ifft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_ifft(symbol)" = '[]--_backward__contrib_ifft ::-                        forall args . Fullfilled "_backward__contrib_ifft(symbol)" args =>-                          String ->-                            ArgsHMap "_backward__contrib_ifft(symbol)" args -> IO SymbolHandle-_backward__contrib_ifft name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_ifft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_SyncBatchNorm(symbol)" = '[]--_backward__contrib_SyncBatchNorm ::-                                 forall args .-                                   Fullfilled "_backward__contrib_SyncBatchNorm(symbol)" args =>-                                   String ->-                                     ArgsHMap "_backward__contrib_SyncBatchNorm(symbol)" args ->-                                       IO SymbolHandle-_backward__contrib_SyncBatchNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_SyncBatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_InstanceNorm(symbol)" =-     '[ '("eps", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle)]--_InstanceNorm ::-              forall args . Fullfilled "_InstanceNorm(symbol)" args =>-                String -> ArgsHMap "_InstanceNorm(symbol)" args -> IO SymbolHandle-_InstanceNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "InstanceNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_InstanceNorm(symbol)" = '[]--_backward_InstanceNorm ::-                       forall args . Fullfilled "_backward_InstanceNorm(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_InstanceNorm(symbol)" args -> IO SymbolHandle-_backward_InstanceNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_InstanceNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SVMOutput(symbol)" =-     '[ '("margin", AttrOpt Float),-        '("regularization_coefficient", AttrOpt Float),-        '("use_linear", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_SVMOutput ::-           forall args . Fullfilled "_SVMOutput(symbol)" args =>-             String -> ArgsHMap "_SVMOutput(symbol)" args -> IO SymbolHandle-_SVMOutput name args-  = let scalarArgs-          = catMaybes-              [("margin",) . showValue <$> (args !? #margin :: Maybe Float),-               ("regularization_coefficient",) . showValue <$>-                 (args !? #regularization_coefficient :: Maybe Float),-               ("use_linear",) . showValue <$>-                 (args !? #use_linear :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SVMOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SVMOutput(symbol)" = '[]--_backward_SVMOutput ::-                    forall args . Fullfilled "_backward_SVMOutput(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_SVMOutput(symbol)" args -> IO SymbolHandle-_backward_SVMOutput name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SVMOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_GridGenerator(symbol)" =-     '[ '("transform_type", AttrReq (EnumType '["affine", "warp"])),-        '("target_shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--_GridGenerator ::-               forall args . Fullfilled "_GridGenerator(symbol)" args =>-                 String -> ArgsHMap "_GridGenerator(symbol)" args -> IO SymbolHandle-_GridGenerator name args-  = let scalarArgs-          = catMaybes-              [("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine", "warp"])),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "GridGenerator"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_GridGenerator(symbol)" = '[]--_backward_GridGenerator ::-                        forall args . Fullfilled "_backward_GridGenerator(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_GridGenerator(symbol)" args -> IO SymbolHandle-_backward_GridGenerator name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_GridGenerator"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Pad(symbol)" = '[]--_backward_Pad ::-              forall args . Fullfilled "_backward_Pad(symbol)" args =>-                String -> ArgsHMap "_backward_Pad(symbol)" args -> IO SymbolHandle-_backward_Pad name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pad"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Convolution_v1(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle)]--_Convolution_v1 ::-                forall args . Fullfilled "_Convolution_v1(symbol)" args =>-                  String ->-                    ArgsHMap "_Convolution_v1(symbol)" args -> IO SymbolHandle-_Convolution_v1 name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Convolution_v1(symbol)" =-     '[]--_backward_Convolution_v1 ::-                         forall args . Fullfilled "_backward_Convolution_v1(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_Convolution_v1(symbol)" args -> IO SymbolHandle-_backward_Convolution_v1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SequenceReverse(symbol)" =-     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),-        '("data", AttrOpt SymbolHandle),-        '("sequence_length", AttrOpt SymbolHandle)]--_SequenceReverse ::-                 forall args . Fullfilled "_SequenceReverse(symbol)" args =>-                   String ->-                     ArgsHMap "_SequenceReverse(symbol)" args -> IO SymbolHandle-_SequenceReverse name args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceReverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SequenceReverse(symbol)" =-     '[]--_backward_SequenceReverse ::-                          forall args .-                            Fullfilled "_backward_SequenceReverse(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_SequenceReverse(symbol)" args ->-                                IO SymbolHandle-_backward_SequenceReverse name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceReverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SoftmaxOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt SymbolHandle), '("label", AttrOpt SymbolHandle)]--_SoftmaxOutput ::-               forall args . Fullfilled "_SoftmaxOutput(symbol)" args =>-                 String -> ArgsHMap "_SoftmaxOutput(symbol)" args -> IO SymbolHandle-_SoftmaxOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SoftmaxOutput(symbol)" = '[]--_backward_SoftmaxOutput ::-                        forall args . Fullfilled "_backward_SoftmaxOutput(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_SoftmaxOutput(symbol)" args -> IO SymbolHandle-_backward_SoftmaxOutput name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Softmax(symbol)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_Softmax ::-         forall args . Fullfilled "_Softmax(symbol)" args =>-           String -> ArgsHMap "_Softmax(symbol)" args -> IO SymbolHandle-_Softmax name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Softmax(symbol)" = '[]--_backward_Softmax ::-                  forall args . Fullfilled "_backward_Softmax(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_Softmax(symbol)" args -> IO SymbolHandle-_backward_Softmax name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BilinearSampler(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("grid", AttrOpt SymbolHandle)]--_BilinearSampler ::-                 forall args . Fullfilled "_BilinearSampler(symbol)" args =>-                   String ->-                     ArgsHMap "_BilinearSampler(symbol)" args -> IO SymbolHandle-_BilinearSampler name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("grid",) <$> (args !? #grid :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BilinearSampler"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_BilinearSampler(symbol)" =-     '[]--_backward_BilinearSampler ::-                          forall args .-                            Fullfilled "_backward_BilinearSampler(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_BilinearSampler(symbol)" args ->-                                IO SymbolHandle-_backward_BilinearSampler name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BilinearSampler"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_LeakyReLU(symbol)" = '[]--_backward_LeakyReLU ::-                    forall args . Fullfilled "_backward_LeakyReLU(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_LeakyReLU(symbol)" args -> IO SymbolHandle-_backward_LeakyReLU name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LeakyReLU"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Crop(symbol)" =-     '[ '("num_args", AttrReq Int), '("offset", AttrOpt [Int]),-        '("h_w", AttrOpt [Int]), '("center_crop", AttrOpt Bool),-        '("data", AttrOpt [SymbolHandle])]--_Crop ::-      forall args . Fullfilled "_Crop(symbol)" args =>-        String -> ArgsHMap "_Crop(symbol)" args -> IO SymbolHandle-_Crop name args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("offset",) . showValue <$> (args !? #offset :: Maybe [Int]),-               ("h_w",) . showValue <$> (args !? #h_w :: Maybe [Int]),-               ("center_crop",) . showValue <$>-                 (args !? #center_crop :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "Crop"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_Crop(symbol)" = '[]--_backward_Crop ::-               forall args . Fullfilled "_backward_Crop(symbol)" args =>-                 String -> ArgsHMap "_backward_Crop(symbol)" args -> IO SymbolHandle-_backward_Crop name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Crop"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_ROIPooling(symbol)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float), '("data", AttrOpt SymbolHandle),-        '("rois", AttrOpt SymbolHandle)]--_ROIPooling ::-            forall args . Fullfilled "_ROIPooling(symbol)" args =>-              String -> ArgsHMap "_ROIPooling(symbol)" args -> IO SymbolHandle-_ROIPooling name args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_ROIPooling(symbol)" = '[]--_backward_ROIPooling ::-                     forall args . Fullfilled "_backward_ROIPooling(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_ROIPooling(symbol)" args -> IO SymbolHandle-_backward_ROIPooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SequenceLast(symbol)" =-     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),-        '("data", AttrOpt SymbolHandle),-        '("sequence_length", AttrOpt SymbolHandle)]--_SequenceLast ::-              forall args . Fullfilled "_SequenceLast(symbol)" args =>-                String -> ArgsHMap "_SequenceLast(symbol)" args -> IO SymbolHandle-_SequenceLast name args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceLast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SequenceLast(symbol)" = '[]--_backward_SequenceLast ::-                       forall args . Fullfilled "_backward_SequenceLast(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_SequenceLast(symbol)" args -> IO SymbolHandle-_backward_SequenceLast name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceLast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CrossDeviceCopy(symbol)" = '[]--_CrossDeviceCopy ::-                 forall args . Fullfilled "_CrossDeviceCopy(symbol)" args =>-                   String ->-                     ArgsHMap "_CrossDeviceCopy(symbol)" args -> IO SymbolHandle-_CrossDeviceCopy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CrossDeviceCopy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__CrossDeviceCopy(symbol)" =-     '[]--_backward__CrossDeviceCopy ::-                           forall args .-                             Fullfilled "_backward__CrossDeviceCopy(symbol)" args =>-                             String ->-                               ArgsHMap "_backward__CrossDeviceCopy(symbol)" args ->-                                 IO SymbolHandle-_backward__CrossDeviceCopy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__CrossDeviceCopy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SpatialTransformer(symbol)" =-     '[ '("target_shape", AttrOpt [Int]),-        '("transform_type", AttrReq (EnumType '["affine"])),-        '("sampler_type", AttrReq (EnumType '["bilinear"])),-        '("data", AttrOpt SymbolHandle), '("loc", AttrOpt SymbolHandle)]--_SpatialTransformer ::-                    forall args . Fullfilled "_SpatialTransformer(symbol)" args =>-                      String ->-                        ArgsHMap "_SpatialTransformer(symbol)" args -> IO SymbolHandle-_SpatialTransformer name args-  = let scalarArgs-          = catMaybes-              [("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine"])),-               ("sampler_type",) . showValue <$>-                 (args !? #sampler_type :: Maybe (EnumType '["bilinear"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("loc",) <$> (args !? #loc :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SpatialTransformer"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SpatialTransformer(symbol)"-     = '[]--_backward_SpatialTransformer ::-                             forall args .-                               Fullfilled "_backward_SpatialTransformer(symbol)" args =>-                               String ->-                                 ArgsHMap "_backward_SpatialTransformer(symbol)" args ->-                                   IO SymbolHandle-_backward_SpatialTransformer name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SpatialTransformer"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SwapAxis(symbol)" = '[]--_backward_SwapAxis ::-                   forall args . Fullfilled "_backward_SwapAxis(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_SwapAxis(symbol)" args -> IO SymbolHandle-_backward_SwapAxis name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SwapAxis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_L2Normalization(symbol)" =-     '[ '("eps", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["channel", "instance", "spatial"])),-        '("data", AttrOpt SymbolHandle)]--_L2Normalization ::-                 forall args . Fullfilled "_L2Normalization(symbol)" args =>-                   String ->-                     ArgsHMap "_L2Normalization(symbol)" args -> IO SymbolHandle-_L2Normalization name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["channel", "instance", "spatial"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "L2Normalization"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_L2Normalization(symbol)" =-     '[]--_backward_L2Normalization ::-                          forall args .-                            Fullfilled "_backward_L2Normalization(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_L2Normalization(symbol)" args ->-                                IO SymbolHandle-_backward_L2Normalization name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_L2Normalization"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Correlation(symbol)" =-     '[ '("kernel_size", AttrOpt Int),-        '("max_displacement", AttrOpt Int), '("stride1", AttrOpt Int),-        '("stride2", AttrOpt Int), '("pad_size", AttrOpt Int),-        '("is_multiply", AttrOpt Bool), '("data1", AttrOpt SymbolHandle),-        '("data2", AttrOpt SymbolHandle)]--_Correlation ::-             forall args . Fullfilled "_Correlation(symbol)" args =>-               String -> ArgsHMap "_Correlation(symbol)" args -> IO SymbolHandle-_Correlation name args-  = let scalarArgs-          = catMaybes-              [("kernel_size",) . showValue <$>-                 (args !? #kernel_size :: Maybe Int),-               ("max_displacement",) . showValue <$>-                 (args !? #max_displacement :: Maybe Int),-               ("stride1",) . showValue <$> (args !? #stride1 :: Maybe Int),-               ("stride2",) . showValue <$> (args !? #stride2 :: Maybe Int),-               ("pad_size",) . showValue <$> (args !? #pad_size :: Maybe Int),-               ("is_multiply",) . showValue <$>-                 (args !? #is_multiply :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data1",) <$> (args !? #data1 :: Maybe SymbolHandle),-               ("data2",) <$> (args !? #data2 :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Correlation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Correlation(symbol)" = '[]--_backward_Correlation ::-                      forall args . Fullfilled "_backward_Correlation(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_Correlation(symbol)" args -> IO SymbolHandle-_backward_Correlation name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Correlation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_IdentityAttachKLSparseReg(symbol)" = '[]--_backward_IdentityAttachKLSparseReg ::-                                    forall args .-                                      Fullfilled "_backward_IdentityAttachKLSparseReg(symbol)"-                                        args =>-                                      String ->-                                        ArgsHMap "_backward_IdentityAttachKLSparseReg(symbol)" args-                                          -> IO SymbolHandle-_backward_IdentityAttachKLSparseReg name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_IdentityAttachKLSparseReg"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_MakeLoss(symbol)" =-     '[ '("grad_scale", AttrOpt Float),-        '("valid_thresh", AttrOpt Float),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("data", AttrOpt SymbolHandle)]--_MakeLoss ::-          forall args . Fullfilled "_MakeLoss(symbol)" args =>-            String -> ArgsHMap "_MakeLoss(symbol)" args -> IO SymbolHandle-_MakeLoss name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MakeLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_MakeLoss(symbol)" = '[]--_backward_MakeLoss ::-                   forall args . Fullfilled "_backward_MakeLoss(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_MakeLoss(symbol)" args -> IO SymbolHandle-_backward_MakeLoss name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MakeLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SliceChannel(symbol)" = '[]--_backward_SliceChannel ::-                       forall args . Fullfilled "_backward_SliceChannel(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_SliceChannel(symbol)" args -> IO SymbolHandle-_backward_SliceChannel name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SliceChannel"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_RNN(symbol)" =-     '[ '("state_size", AttrReq Int), '("num_layers", AttrReq Int),-        '("bidirectional", AttrOpt Bool),-        '("mode",-          AttrReq (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-        '("p", AttrOpt Float), '("state_outputs", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle),-        '("parameters", AttrOpt SymbolHandle),-        '("state", AttrOpt SymbolHandle),-        '("state_cell", AttrOpt SymbolHandle)]--_RNN ::-     forall args . Fullfilled "_RNN(symbol)" args =>-       String -> ArgsHMap "_RNN(symbol)" args -> IO SymbolHandle-_RNN name args-  = let scalarArgs-          = catMaybes-              [("state_size",) . showValue <$>-                 (args !? #state_size :: Maybe Int),-               ("num_layers",) . showValue <$> (args !? #num_layers :: Maybe Int),-               ("bidirectional",) . showValue <$>-                 (args !? #bidirectional :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("state_outputs",) . showValue <$>-                 (args !? #state_outputs :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("parameters",) <$> (args !? #parameters :: Maybe SymbolHandle),-               ("state",) <$> (args !? #state :: Maybe SymbolHandle),-               ("state_cell",) <$> (args !? #state_cell :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "RNN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_RNN(symbol)" = '[]--_backward_RNN ::-              forall args . Fullfilled "_backward_RNN(symbol)" args =>-                String -> ArgsHMap "_backward_RNN(symbol)" args -> IO SymbolHandle-_backward_RNN name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_RNN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Pooling_v1(symbol)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "max", "sum"])),-        '("global_pool", AttrOpt Bool),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--_Pooling_v1 ::-            forall args . Fullfilled "_Pooling_v1(symbol)" args =>-              String -> ArgsHMap "_Pooling_v1(symbol)" args -> IO SymbolHandle-_Pooling_v1 name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Pooling_v1(symbol)" = '[]--_backward_Pooling_v1 ::-                     forall args . Fullfilled "_backward_Pooling_v1(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_Pooling_v1(symbol)" args -> IO SymbolHandle-_backward_Pooling_v1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_BatchNorm_v1(symbol)" = '[]--_backward_BatchNorm_v1 ::-                       forall args . Fullfilled "_backward_BatchNorm_v1(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_BatchNorm_v1(symbol)" args -> IO SymbolHandle-_backward_BatchNorm_v1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SequenceMask(symbol)" =-     '[ '("use_sequence_length", AttrOpt Bool),-        '("value", AttrOpt Float), '("axis", AttrOpt Int),-        '("data", AttrOpt SymbolHandle),-        '("sequence_length", AttrOpt SymbolHandle)]--_SequenceMask ::-              forall args . Fullfilled "_SequenceMask(symbol)" args =>-                String -> ArgsHMap "_SequenceMask(symbol)" args -> IO SymbolHandle-_SequenceMask name args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("value",) . showValue <$> (args !? #value :: Maybe Float),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceMask"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SequenceMask(symbol)" = '[]--_backward_SequenceMask ::-                       forall args . Fullfilled "_backward_SequenceMask(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_SequenceMask(symbol)" args -> IO SymbolHandle-_backward_SequenceMask name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceMask"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_set_value(symbol)" =-     '[ '("src", AttrOpt Float)]--_set_value ::-           forall args . Fullfilled "_set_value(symbol)" args =>-             String -> ArgsHMap "_set_value(symbol)" args -> IO SymbolHandle-_set_value name args-  = let scalarArgs-          = catMaybes-              [("src",) . showValue <$> (args !? #src :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_set_value"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_imdecode(symbol)" =-     '[ '("index", AttrOpt Int), '("x0", AttrOpt Int),-        '("y0", AttrOpt Int), '("x1", AttrOpt Int), '("y1", AttrOpt Int),-        '("c", AttrOpt Int), '("size", AttrOpt Int),-        '("mean", AttrOpt SymbolHandle)]--_imdecode ::-          forall args . Fullfilled "_imdecode(symbol)" args =>-            String -> ArgsHMap "_imdecode(symbol)" args -> IO SymbolHandle-_imdecode name args-  = let scalarArgs-          = catMaybes-              [("index",) . showValue <$> (args !? #index :: Maybe Int),-               ("x0",) . showValue <$> (args !? #x0 :: Maybe Int),-               ("y0",) . showValue <$> (args !? #y0 :: Maybe Int),-               ("x1",) . showValue <$> (args !? #x1 :: Maybe Int),-               ("y1",) . showValue <$> (args !? #y1 :: Maybe Int),-               ("c",) . showValue <$> (args !? #c :: Maybe Int),-               ("size",) . showValue <$> (args !? #size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("mean",) <$> (args !? #mean :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_imdecode"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym
− ops/1.4/MXNet/Base/Operators/NDArray.hs
@@ -1,21107 +0,0 @@-module MXNet.Base.Operators.NDArray where-import MXNet.Base.Raw-import MXNet.Base.Spec.Operator-import MXNet.Base.Spec.HMap-import Data.Maybe (catMaybes, fromMaybe)--type instance ParameterList "_CuDNNBatchNorm(ndarray)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle),-        '("moving_mean", AttrOpt NDArrayHandle),-        '("moving_var", AttrOpt NDArrayHandle)]--_CuDNNBatchNorm ::-                forall args . Fullfilled "_CuDNNBatchNorm(ndarray)" args =>-                  ArgsHMap "_CuDNNBatchNorm(ndarray)" args -> IO [NDArrayHandle]-_CuDNNBatchNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CuDNNBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CuDNNBatchNorm_upd ::-                    forall args . Fullfilled "_CuDNNBatchNorm(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_CuDNNBatchNorm(ndarray)" args -> IO ()-_CuDNNBatchNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CuDNNBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_CuDNNBatchNorm(ndarray)" =-     '[]--_backward_CuDNNBatchNorm ::-                         forall args .-                           Fullfilled "_backward_CuDNNBatchNorm(ndarray)" args =>-                           ArgsHMap "_backward_CuDNNBatchNorm(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_CuDNNBatchNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CuDNNBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_CuDNNBatchNorm_upd ::-                             forall args .-                               Fullfilled "_backward_CuDNNBatchNorm(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_CuDNNBatchNorm(ndarray)" args -> IO ()-_backward_CuDNNBatchNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CuDNNBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_multinomial(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("get_prob", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--_sample_multinomial ::-                    forall args . Fullfilled "_sample_multinomial(ndarray)" args =>-                      ArgsHMap "_sample_multinomial(ndarray)" args -> IO [NDArrayHandle]-_sample_multinomial args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("get_prob",) . showValue <$> (args !? #get_prob :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_multinomial_upd ::-                        forall args . Fullfilled "_sample_multinomial(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_sample_multinomial(ndarray)" args -> IO ()-_sample_multinomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("get_prob",) . showValue <$> (args !? #get_prob :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sample_multinomial(ndarray)"-     = '[]--_backward_sample_multinomial ::-                             forall args .-                               Fullfilled "_backward_sample_multinomial(ndarray)" args =>-                               ArgsHMap "_backward_sample_multinomial(ndarray)" args ->-                                 IO [NDArrayHandle]-_backward_sample_multinomial args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sample_multinomial_upd ::-                                 forall args .-                                   Fullfilled "_backward_sample_multinomial(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_backward_sample_multinomial(ndarray)" args -> IO ()-_backward_sample_multinomial_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_uniform(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("low", AttrOpt NDArrayHandle), '("high", AttrOpt NDArrayHandle)]--_sample_uniform ::-                forall args . Fullfilled "_sample_uniform(ndarray)" args =>-                  ArgsHMap "_sample_uniform(ndarray)" args -> IO [NDArrayHandle]-_sample_uniform args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("low",) <$> (args !? #low :: Maybe NDArrayHandle),-               ("high",) <$> (args !? #high :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_uniform_upd ::-                    forall args . Fullfilled "_sample_uniform(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_sample_uniform(ndarray)" args -> IO ()-_sample_uniform_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("low",) <$> (args !? #low :: Maybe NDArrayHandle),-               ("high",) <$> (args !? #high :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_normal(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt NDArrayHandle), '("sigma", AttrOpt NDArrayHandle)]--_sample_normal ::-               forall args . Fullfilled "_sample_normal(ndarray)" args =>-                 ArgsHMap "_sample_normal(ndarray)" args -> IO [NDArrayHandle]-_sample_normal args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("sigma",) <$> (args !? #sigma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_normal_upd ::-                   forall args . Fullfilled "_sample_normal(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_sample_normal(ndarray)" args -> IO ()-_sample_normal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("sigma",) <$> (args !? #sigma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_gamma(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("alpha", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_sample_gamma ::-              forall args . Fullfilled "_sample_gamma(ndarray)" args =>-                ArgsHMap "_sample_gamma(ndarray)" args -> IO [NDArrayHandle]-_sample_gamma args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_gamma_upd ::-                  forall args . Fullfilled "_sample_gamma(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_sample_gamma(ndarray)" args -> IO ()-_sample_gamma_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_exponential(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt NDArrayHandle)]--_sample_exponential ::-                    forall args . Fullfilled "_sample_exponential(ndarray)" args =>-                      ArgsHMap "_sample_exponential(ndarray)" args -> IO [NDArrayHandle]-_sample_exponential args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_exponential_upd ::-                        forall args . Fullfilled "_sample_exponential(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_sample_exponential(ndarray)" args -> IO ()-_sample_exponential_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_poisson(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt NDArrayHandle)]--_sample_poisson ::-                forall args . Fullfilled "_sample_poisson(ndarray)" args =>-                  ArgsHMap "_sample_poisson(ndarray)" args -> IO [NDArrayHandle]-_sample_poisson args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_poisson_upd ::-                    forall args . Fullfilled "_sample_poisson(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_sample_poisson(ndarray)" args -> IO ()-_sample_poisson_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_negative_binomial(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("k", AttrOpt NDArrayHandle), '("p", AttrOpt NDArrayHandle)]--_sample_negative_binomial ::-                          forall args .-                            Fullfilled "_sample_negative_binomial(ndarray)" args =>-                            ArgsHMap "_sample_negative_binomial(ndarray)" args ->-                              IO [NDArrayHandle]-_sample_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("k",) <$> (args !? #k :: Maybe NDArrayHandle),-               ("p",) <$> (args !? #p :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_negative_binomial_upd ::-                              forall args .-                                Fullfilled "_sample_negative_binomial(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_sample_negative_binomial(ndarray)" args -> IO ()-_sample_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("k",) <$> (args !? #k :: Maybe NDArrayHandle),-               ("p",) <$> (args !? #p :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_sample_generalized_negative_binomial(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt NDArrayHandle), '("alpha", AttrOpt NDArrayHandle)]--_sample_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_sample_generalized_negative_binomial(ndarray)"-                                          args =>-                                        ArgsHMap "_sample_generalized_negative_binomial(ndarray)"-                                          args-                                          -> IO [NDArrayHandle]-_sample_generalized_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_generalized_negative_binomial_upd ::-                                          forall args .-                                            Fullfilled-                                              "_sample_generalized_negative_binomial(ndarray)"-                                              args =>-                                            [NDArrayHandle] ->-                                              ArgsHMap-                                                "_sample_generalized_negative_binomial(ndarray)"-                                                args-                                                -> IO ()-_sample_generalized_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_unique_zipfian(ndarray)" =-     '[ '("range_max", AttrReq Int), '("shape", AttrOpt [Int])]--_sample_unique_zipfian ::-                       forall args . Fullfilled "_sample_unique_zipfian(ndarray)" args =>-                         ArgsHMap "_sample_unique_zipfian(ndarray)" args ->-                           IO [NDArrayHandle]-_sample_unique_zipfian args-  = let scalarArgs-          = catMaybes-              [("range_max",) . showValue <$> (args !? #range_max :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_unique_zipfian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_unique_zipfian_upd ::-                           forall args . Fullfilled "_sample_unique_zipfian(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_sample_unique_zipfian(ndarray)" args -> IO ()-_sample_unique_zipfian_upd outputs args-  = let scalarArgs-          = catMaybes-              [("range_max",) . showValue <$> (args !? #range_max :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_unique_zipfian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_uniform(ndarray)" =-     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_uniform ::-                forall args . Fullfilled "_random_uniform(ndarray)" args =>-                  ArgsHMap "_random_uniform(ndarray)" args -> IO [NDArrayHandle]-_random_uniform args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_uniform_upd ::-                    forall args . Fullfilled "_random_uniform(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_random_uniform(ndarray)" args -> IO ()-_random_uniform_upd outputs args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_normal(ndarray)" =-     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_normal ::-               forall args . Fullfilled "_random_normal(ndarray)" args =>-                 ArgsHMap "_random_normal(ndarray)" args -> IO [NDArrayHandle]-_random_normal args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_normal_upd ::-                   forall args . Fullfilled "_random_normal(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_random_normal(ndarray)" args -> IO ()-_random_normal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_gamma(ndarray)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_gamma ::-              forall args . Fullfilled "_random_gamma(ndarray)" args =>-                ArgsHMap "_random_gamma(ndarray)" args -> IO [NDArrayHandle]-_random_gamma args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_gamma_upd ::-                  forall args . Fullfilled "_random_gamma(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_random_gamma(ndarray)" args -> IO ()-_random_gamma_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_exponential(ndarray)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_exponential ::-                    forall args . Fullfilled "_random_exponential(ndarray)" args =>-                      ArgsHMap "_random_exponential(ndarray)" args -> IO [NDArrayHandle]-_random_exponential args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_exponential_upd ::-                        forall args . Fullfilled "_random_exponential(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_random_exponential(ndarray)" args -> IO ()-_random_exponential_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_poisson(ndarray)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_poisson ::-                forall args . Fullfilled "_random_poisson(ndarray)" args =>-                  ArgsHMap "_random_poisson(ndarray)" args -> IO [NDArrayHandle]-_random_poisson args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_poisson_upd ::-                    forall args . Fullfilled "_random_poisson(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_random_poisson(ndarray)" args -> IO ()-_random_poisson_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_negative_binomial(ndarray)" =-     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_negative_binomial ::-                          forall args .-                            Fullfilled "_random_negative_binomial(ndarray)" args =>-                            ArgsHMap "_random_negative_binomial(ndarray)" args ->-                              IO [NDArrayHandle]-_random_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_negative_binomial_upd ::-                              forall args .-                                Fullfilled "_random_negative_binomial(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_random_negative_binomial(ndarray)" args -> IO ()-_random_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_random_generalized_negative_binomial(ndarray)" =-     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_random_generalized_negative_binomial(ndarray)"-                                          args =>-                                        ArgsHMap "_random_generalized_negative_binomial(ndarray)"-                                          args-                                          -> IO [NDArrayHandle]-_random_generalized_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_generalized_negative_binomial_upd ::-                                          forall args .-                                            Fullfilled-                                              "_random_generalized_negative_binomial(ndarray)"-                                              args =>-                                            [NDArrayHandle] ->-                                              ArgsHMap-                                                "_random_generalized_negative_binomial(ndarray)"-                                                args-                                                -> IO ()-_random_generalized_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_randint(ndarray)" =-     '[ '("low", AttrReq Int), '("high", AttrReq Int),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype", AttrOpt (EnumType '["None", "int32", "int64"]))]--_random_randint ::-                forall args . Fullfilled "_random_randint(ndarray)" args =>-                  ArgsHMap "_random_randint(ndarray)" args -> IO [NDArrayHandle]-_random_randint args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Int),-               ("high",) . showValue <$> (args !? #high :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype :: Maybe (EnumType '["None", "int32", "int64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_randint"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_randint_upd ::-                    forall args . Fullfilled "_random_randint(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_random_randint(ndarray)" args -> IO ()-_random_randint_upd outputs args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Int),-               ("high",) . showValue <$> (args !? #high :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype :: Maybe (EnumType '["None", "int32", "int64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_randint"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_uniform_like(ndarray)" =-     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_random_uniform_like ::-                     forall args . Fullfilled "_random_uniform_like(ndarray)" args =>-                       ArgsHMap "_random_uniform_like(ndarray)" args -> IO [NDArrayHandle]-_random_uniform_like args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_uniform_like_upd ::-                         forall args . Fullfilled "_random_uniform_like(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_random_uniform_like(ndarray)" args -> IO ()-_random_uniform_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_normal_like(ndarray)" =-     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_random_normal_like ::-                    forall args . Fullfilled "_random_normal_like(ndarray)" args =>-                      ArgsHMap "_random_normal_like(ndarray)" args -> IO [NDArrayHandle]-_random_normal_like args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_normal_like_upd ::-                        forall args . Fullfilled "_random_normal_like(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_random_normal_like(ndarray)" args -> IO ()-_random_normal_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_gamma_like(ndarray)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_random_gamma_like ::-                   forall args . Fullfilled "_random_gamma_like(ndarray)" args =>-                     ArgsHMap "_random_gamma_like(ndarray)" args -> IO [NDArrayHandle]-_random_gamma_like args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_gamma_like_upd ::-                       forall args . Fullfilled "_random_gamma_like(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_random_gamma_like(ndarray)" args -> IO ()-_random_gamma_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_exponential_like(ndarray)" =-     '[ '("lam", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_random_exponential_like ::-                         forall args .-                           Fullfilled "_random_exponential_like(ndarray)" args =>-                           ArgsHMap "_random_exponential_like(ndarray)" args ->-                             IO [NDArrayHandle]-_random_exponential_like args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_exponential_like_upd ::-                             forall args .-                               Fullfilled "_random_exponential_like(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_random_exponential_like(ndarray)" args -> IO ()-_random_exponential_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_poisson_like(ndarray)" =-     '[ '("lam", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_random_poisson_like ::-                     forall args . Fullfilled "_random_poisson_like(ndarray)" args =>-                       ArgsHMap "_random_poisson_like(ndarray)" args -> IO [NDArrayHandle]-_random_poisson_like args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_poisson_like_upd ::-                         forall args . Fullfilled "_random_poisson_like(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_random_poisson_like(ndarray)" args -> IO ()-_random_poisson_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_random_negative_binomial_like(ndarray)" =-     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_random_negative_binomial_like ::-                               forall args .-                                 Fullfilled "_random_negative_binomial_like(ndarray)" args =>-                                 ArgsHMap "_random_negative_binomial_like(ndarray)" args ->-                                   IO [NDArrayHandle]-_random_negative_binomial_like args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_negative_binomial_like_upd ::-                                   forall args .-                                     Fullfilled "_random_negative_binomial_like(ndarray)" args =>-                                     [NDArrayHandle] ->-                                       ArgsHMap "_random_negative_binomial_like(ndarray)" args ->-                                         IO ()-_random_negative_binomial_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_random_generalized_negative_binomial_like(ndarray)"-     =-     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_random_generalized_negative_binomial_like ::-                                           forall args .-                                             Fullfilled-                                               "_random_generalized_negative_binomial_like(ndarray)"-                                               args =>-                                             ArgsHMap-                                               "_random_generalized_negative_binomial_like(ndarray)"-                                               args-                                               -> IO [NDArrayHandle]-_random_generalized_negative_binomial_like args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_generalized_negative_binomial_like_upd ::-                                               forall args .-                                                 Fullfilled-                                                   "_random_generalized_negative_binomial_like(ndarray)"-                                                   args =>-                                                 [NDArrayHandle] ->-                                                   ArgsHMap-                                                     "_random_generalized_negative_binomial_like(ndarray)"-                                                     args-                                                     -> IO ()-_random_generalized_negative_binomial_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_shuffle(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_shuffle ::-         forall args . Fullfilled "_shuffle(ndarray)" args =>-           ArgsHMap "_shuffle(ndarray)" args -> IO [NDArrayHandle]-_shuffle args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_shuffle"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_shuffle_upd ::-             forall args . Fullfilled "_shuffle(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_shuffle(ndarray)" args -> IO ()-_shuffle_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_shuffle"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Custom(ndarray)" = '[]--_backward_Custom ::-                 forall args . Fullfilled "_backward_Custom(ndarray)" args =>-                   ArgsHMap "_backward_Custom(ndarray)" args -> IO [NDArrayHandle]-_backward_Custom args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Custom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Custom_upd ::-                     forall args . Fullfilled "_backward_Custom(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_Custom(ndarray)" args -> IO ()-_backward_Custom_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Custom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_power(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_power ::-                forall args . Fullfilled "broadcast_power(ndarray)" args =>-                  ArgsHMap "broadcast_power(ndarray)" args -> IO [NDArrayHandle]-broadcast_power args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_power_upd ::-                    forall args . Fullfilled "broadcast_power(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "broadcast_power(ndarray)" args -> IO ()-broadcast_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_power(ndarray)" =-     '[]--_backward_broadcast_power ::-                          forall args .-                            Fullfilled "_backward_broadcast_power(ndarray)" args =>-                            ArgsHMap "_backward_broadcast_power(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_broadcast_power args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_power_upd ::-                              forall args .-                                Fullfilled "_backward_broadcast_power(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_broadcast_power(ndarray)" args -> IO ()-_backward_broadcast_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_maximum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_maximum ::-                  forall args . Fullfilled "broadcast_maximum(ndarray)" args =>-                    ArgsHMap "broadcast_maximum(ndarray)" args -> IO [NDArrayHandle]-broadcast_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_maximum_upd ::-                      forall args . Fullfilled "broadcast_maximum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "broadcast_maximum(ndarray)" args -> IO ()-broadcast_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_maximum(ndarray)"-     = '[]--_backward_broadcast_maximum ::-                            forall args .-                              Fullfilled "_backward_broadcast_maximum(ndarray)" args =>-                              ArgsHMap "_backward_broadcast_maximum(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_broadcast_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_maximum_upd ::-                                forall args .-                                  Fullfilled "_backward_broadcast_maximum(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_broadcast_maximum(ndarray)" args -> IO ()-_backward_broadcast_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_minimum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_minimum ::-                  forall args . Fullfilled "broadcast_minimum(ndarray)" args =>-                    ArgsHMap "broadcast_minimum(ndarray)" args -> IO [NDArrayHandle]-broadcast_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_minimum_upd ::-                      forall args . Fullfilled "broadcast_minimum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "broadcast_minimum(ndarray)" args -> IO ()-broadcast_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_minimum(ndarray)"-     = '[]--_backward_broadcast_minimum ::-                            forall args .-                              Fullfilled "_backward_broadcast_minimum(ndarray)" args =>-                              ArgsHMap "_backward_broadcast_minimum(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_broadcast_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_minimum_upd ::-                                forall args .-                                  Fullfilled "_backward_broadcast_minimum(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_broadcast_minimum(ndarray)" args -> IO ()-_backward_broadcast_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_hypot(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_hypot ::-                forall args . Fullfilled "broadcast_hypot(ndarray)" args =>-                  ArgsHMap "broadcast_hypot(ndarray)" args -> IO [NDArrayHandle]-broadcast_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_hypot_upd ::-                    forall args . Fullfilled "broadcast_hypot(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "broadcast_hypot(ndarray)" args -> IO ()-broadcast_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_hypot(ndarray)" =-     '[]--_backward_broadcast_hypot ::-                          forall args .-                            Fullfilled "_backward_broadcast_hypot(ndarray)" args =>-                            ArgsHMap "_backward_broadcast_hypot(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_broadcast_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_hypot_upd ::-                              forall args .-                                Fullfilled "_backward_broadcast_hypot(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_broadcast_hypot(ndarray)" args -> IO ()-_backward_broadcast_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_equal ::-       forall args . Fullfilled "_equal(ndarray)" args =>-         ArgsHMap "_equal(ndarray)" args -> IO [NDArrayHandle]-_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_equal_upd ::-           forall args . Fullfilled "_equal(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_equal(ndarray)" args -> IO ()-_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_not_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_not_equal ::-           forall args . Fullfilled "_not_equal(ndarray)" args =>-             ArgsHMap "_not_equal(ndarray)" args -> IO [NDArrayHandle]-_not_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_not_equal_upd ::-               forall args . Fullfilled "_not_equal(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_not_equal(ndarray)" args -> IO ()-_not_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_greater ::-         forall args . Fullfilled "_greater(ndarray)" args =>-           ArgsHMap "_greater(ndarray)" args -> IO [NDArrayHandle]-_greater args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_upd ::-             forall args . Fullfilled "_greater(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_greater(ndarray)" args -> IO ()-_greater_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_greater_equal ::-               forall args . Fullfilled "_greater_equal(ndarray)" args =>-                 ArgsHMap "_greater_equal(ndarray)" args -> IO [NDArrayHandle]-_greater_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_equal_upd ::-                   forall args . Fullfilled "_greater_equal(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_greater_equal(ndarray)" args -> IO ()-_greater_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_lesser ::-        forall args . Fullfilled "_lesser(ndarray)" args =>-          ArgsHMap "_lesser(ndarray)" args -> IO [NDArrayHandle]-_lesser args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_upd ::-            forall args . Fullfilled "_lesser(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_lesser(ndarray)" args -> IO ()-_lesser_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_lesser_equal ::-              forall args . Fullfilled "_lesser_equal(ndarray)" args =>-                ArgsHMap "_lesser_equal(ndarray)" args -> IO [NDArrayHandle]-_lesser_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_equal_upd ::-                  forall args . Fullfilled "_lesser_equal(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_lesser_equal(ndarray)" args -> IO ()-_lesser_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_and(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_logical_and ::-             forall args . Fullfilled "_logical_and(ndarray)" args =>-               ArgsHMap "_logical_and(ndarray)" args -> IO [NDArrayHandle]-_logical_and args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_and_upd ::-                 forall args . Fullfilled "_logical_and(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_logical_and(ndarray)" args -> IO ()-_logical_and_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_or(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_logical_or ::-            forall args . Fullfilled "_logical_or(ndarray)" args =>-              ArgsHMap "_logical_or(ndarray)" args -> IO [NDArrayHandle]-_logical_or args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_or_upd ::-                forall args . Fullfilled "_logical_or(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_logical_or(ndarray)" args -> IO ()-_logical_or_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_xor(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_logical_xor ::-             forall args . Fullfilled "_logical_xor(ndarray)" args =>-               ArgsHMap "_logical_xor(ndarray)" args -> IO [NDArrayHandle]-_logical_xor args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_xor_upd ::-                 forall args . Fullfilled "_logical_xor(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_logical_xor(ndarray)" args -> IO ()-_logical_xor_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_power(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_power ::-       forall args . Fullfilled "_power(ndarray)" args =>-         ArgsHMap "_power(ndarray)" args -> IO [NDArrayHandle]-_power args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_power_upd ::-           forall args . Fullfilled "_power(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_power(ndarray)" args -> IO ()-_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_power(ndarray)" = '[]--_backward_power ::-                forall args . Fullfilled "_backward_power(ndarray)" args =>-                  ArgsHMap "_backward_power(ndarray)" args -> IO [NDArrayHandle]-_backward_power args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_power_upd ::-                    forall args . Fullfilled "_backward_power(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_power(ndarray)" args -> IO ()-_backward_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_maximum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_maximum ::-         forall args . Fullfilled "_maximum(ndarray)" args =>-           ArgsHMap "_maximum(ndarray)" args -> IO [NDArrayHandle]-_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_maximum_upd ::-             forall args . Fullfilled "_maximum(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_maximum(ndarray)" args -> IO ()-_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_maximum(ndarray)" = '[]--_backward_maximum ::-                  forall args . Fullfilled "_backward_maximum(ndarray)" args =>-                    ArgsHMap "_backward_maximum(ndarray)" args -> IO [NDArrayHandle]-_backward_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_maximum_upd ::-                      forall args . Fullfilled "_backward_maximum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_maximum(ndarray)" args -> IO ()-_backward_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_minimum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_minimum ::-         forall args . Fullfilled "_minimum(ndarray)" args =>-           ArgsHMap "_minimum(ndarray)" args -> IO [NDArrayHandle]-_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_minimum_upd ::-             forall args . Fullfilled "_minimum(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_minimum(ndarray)" args -> IO ()-_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_minimum(ndarray)" = '[]--_backward_minimum ::-                  forall args . Fullfilled "_backward_minimum(ndarray)" args =>-                    ArgsHMap "_backward_minimum(ndarray)" args -> IO [NDArrayHandle]-_backward_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_minimum_upd ::-                      forall args . Fullfilled "_backward_minimum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_minimum(ndarray)" args -> IO ()-_backward_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_hypot(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_hypot ::-       forall args . Fullfilled "_hypot(ndarray)" args =>-         ArgsHMap "_hypot(ndarray)" args -> IO [NDArrayHandle]-_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_hypot_upd ::-           forall args . Fullfilled "_hypot(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_hypot(ndarray)" args -> IO ()-_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_hypot(ndarray)" = '[]--_backward_hypot ::-                forall args . Fullfilled "_backward_hypot(ndarray)" args =>-                  ArgsHMap "_backward_hypot(ndarray)" args -> IO [NDArrayHandle]-_backward_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_hypot_upd ::-                    forall args . Fullfilled "_backward_hypot(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_hypot(ndarray)" args -> IO ()-_backward_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_square_sum(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--_square_sum ::-            forall args . Fullfilled "_square_sum(ndarray)" args =>-              ArgsHMap "_square_sum(ndarray)" args -> IO [NDArrayHandle]-_square_sum args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_square_sum_upd ::-                forall args . Fullfilled "_square_sum(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_square_sum(ndarray)" args -> IO ()-_square_sum_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_square_sum(ndarray)" = '[]--_backward_square_sum ::-                     forall args . Fullfilled "_backward_square_sum(ndarray)" args =>-                       ArgsHMap "_backward_square_sum(ndarray)" args -> IO [NDArrayHandle]-_backward_square_sum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_square_sum_upd ::-                         forall args . Fullfilled "_backward_square_sum(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_square_sum(ndarray)" args -> IO ()-_backward_square_sum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "add_n(ndarray)" =-     '[ '("args", AttrOpt [NDArrayHandle])]--add_n ::-      forall args . Fullfilled "add_n(ndarray)" args =>-        ArgsHMap "add_n(ndarray)" args -> IO [NDArrayHandle]-add_n args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "add_n"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--add_n_upd ::-          forall args . Fullfilled "add_n(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "add_n(ndarray)" args -> IO ()-add_n_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "add_n"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_zeros_without_dtype(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype", AttrOpt Int)]--_zeros_without_dtype ::-                     forall args . Fullfilled "_zeros_without_dtype(ndarray)" args =>-                       ArgsHMap "_zeros_without_dtype(ndarray)" args -> IO [NDArrayHandle]-_zeros_without_dtype args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$> (args !? #dtype :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros_without_dtype"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_zeros_without_dtype_upd ::-                         forall args . Fullfilled "_zeros_without_dtype(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_zeros_without_dtype(ndarray)" args -> IO ()-_zeros_without_dtype_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$> (args !? #dtype :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros_without_dtype"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_zeros(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_zeros ::-       forall args . Fullfilled "_zeros(ndarray)" args =>-         ArgsHMap "_zeros(ndarray)" args -> IO [NDArrayHandle]-_zeros args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_zeros_upd ::-           forall args . Fullfilled "_zeros(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_zeros(ndarray)" args -> IO ()-_zeros_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_eye(ndarray)" =-     '[ '("_N", AttrReq Int), '("_M", AttrOpt Int), '("k", AttrOpt Int),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_eye ::-     forall args . Fullfilled "_eye(ndarray)" args =>-       ArgsHMap "_eye(ndarray)" args -> IO [NDArrayHandle]-_eye args-  = let scalarArgs-          = catMaybes-              [("_N",) . showValue <$> (args !? #_N :: Maybe Int),-               ("_M",) . showValue <$> (args !? #_M :: Maybe Int),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_eye"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_eye_upd ::-         forall args . Fullfilled "_eye(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_eye(ndarray)" args -> IO ()-_eye_upd outputs args-  = let scalarArgs-          = catMaybes-              [("_N",) . showValue <$> (args !? #_N :: Maybe Int),-               ("_M",) . showValue <$> (args !? #_M :: Maybe Int),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_eye"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_ones(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_ones ::-      forall args . Fullfilled "_ones(ndarray)" args =>-        ArgsHMap "_ones(ndarray)" args -> IO [NDArrayHandle]-_ones args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ones"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_ones_upd ::-          forall args . Fullfilled "_ones(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_ones(ndarray)" args -> IO ()-_ones_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ones"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_full(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("value", AttrReq Double)]--_full ::-      forall args . Fullfilled "_full(ndarray)" args =>-        ArgsHMap "_full(ndarray)" args -> IO [NDArrayHandle]-_full args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("value",) . showValue <$> (args !? #value :: Maybe Double)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_full"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_full_upd ::-          forall args . Fullfilled "_full(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_full(ndarray)" args -> IO ()-_full_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("value",) . showValue <$> (args !? #value :: Maybe Double)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_full"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_arange(ndarray)" =-     '[ '("start", AttrReq Double), '("stop", AttrOpt (Maybe Double)),-        '("step", AttrOpt Double), '("repeat", AttrOpt Int),-        '("infer_range", AttrOpt Bool), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_arange ::-        forall args . Fullfilled "_arange(ndarray)" args =>-          ArgsHMap "_arange(ndarray)" args -> IO [NDArrayHandle]-_arange args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("infer_range",) . showValue <$>-                 (args !? #infer_range :: Maybe Bool),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_arange"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_arange_upd ::-            forall args . Fullfilled "_arange(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_arange(ndarray)" args -> IO ()-_arange_upd outputs args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("infer_range",) . showValue <$>-                 (args !? #infer_range :: Maybe Bool),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_arange"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "zeros_like(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--zeros_like ::-           forall args . Fullfilled "zeros_like(ndarray)" args =>-             ArgsHMap "zeros_like(ndarray)" args -> IO [NDArrayHandle]-zeros_like args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "zeros_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--zeros_like_upd ::-               forall args . Fullfilled "zeros_like(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "zeros_like(ndarray)" args -> IO ()-zeros_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "zeros_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ones_like(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--ones_like ::-          forall args . Fullfilled "ones_like(ndarray)" args =>-            ArgsHMap "ones_like(ndarray)" args -> IO [NDArrayHandle]-ones_like args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ones_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ones_like_upd ::-              forall args . Fullfilled "ones_like(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "ones_like(ndarray)" args -> IO ()-ones_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ones_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_add(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_add ::-              forall args . Fullfilled "broadcast_add(ndarray)" args =>-                ArgsHMap "broadcast_add(ndarray)" args -> IO [NDArrayHandle]-broadcast_add args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_add_upd ::-                  forall args . Fullfilled "broadcast_add(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_add(ndarray)" args -> IO ()-broadcast_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_add(ndarray)" =-     '[]--_backward_broadcast_add ::-                        forall args . Fullfilled "_backward_broadcast_add(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_add(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_add args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_add_upd ::-                            forall args . Fullfilled "_backward_broadcast_add(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_add(ndarray)" args -> IO ()-_backward_broadcast_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_sub(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_sub ::-              forall args . Fullfilled "broadcast_sub(ndarray)" args =>-                ArgsHMap "broadcast_sub(ndarray)" args -> IO [NDArrayHandle]-broadcast_sub args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_sub_upd ::-                  forall args . Fullfilled "broadcast_sub(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_sub(ndarray)" args -> IO ()-broadcast_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_sub(ndarray)" =-     '[]--_backward_broadcast_sub ::-                        forall args . Fullfilled "_backward_broadcast_sub(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_sub(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_sub args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_sub_upd ::-                            forall args . Fullfilled "_backward_broadcast_sub(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_sub(ndarray)" args -> IO ()-_backward_broadcast_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_mul(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_mul ::-              forall args . Fullfilled "broadcast_mul(ndarray)" args =>-                ArgsHMap "broadcast_mul(ndarray)" args -> IO [NDArrayHandle]-broadcast_mul args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_mul_upd ::-                  forall args . Fullfilled "broadcast_mul(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_mul(ndarray)" args -> IO ()-broadcast_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_mul(ndarray)" =-     '[]--_backward_broadcast_mul ::-                        forall args . Fullfilled "_backward_broadcast_mul(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_mul(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_mul args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_mul_upd ::-                            forall args . Fullfilled "_backward_broadcast_mul(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_mul(ndarray)" args -> IO ()-_backward_broadcast_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_div(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_div ::-              forall args . Fullfilled "broadcast_div(ndarray)" args =>-                ArgsHMap "broadcast_div(ndarray)" args -> IO [NDArrayHandle]-broadcast_div args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_div_upd ::-                  forall args . Fullfilled "broadcast_div(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_div(ndarray)" args -> IO ()-broadcast_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_div(ndarray)" =-     '[]--_backward_broadcast_div ::-                        forall args . Fullfilled "_backward_broadcast_div(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_div(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_div args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_div_upd ::-                            forall args . Fullfilled "_backward_broadcast_div(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_div(ndarray)" args -> IO ()-_backward_broadcast_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_mod(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_mod ::-              forall args . Fullfilled "broadcast_mod(ndarray)" args =>-                ArgsHMap "broadcast_mod(ndarray)" args -> IO [NDArrayHandle]-broadcast_mod args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_mod_upd ::-                  forall args . Fullfilled "broadcast_mod(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_mod(ndarray)" args -> IO ()-broadcast_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_mod(ndarray)" =-     '[]--_backward_broadcast_mod ::-                        forall args . Fullfilled "_backward_broadcast_mod(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_mod(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_mod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_mod_upd ::-                            forall args . Fullfilled "_backward_broadcast_mod(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_mod(ndarray)" args -> IO ()-_backward_broadcast_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_gemm(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("beta", AttrOpt Double),-        '("axis", AttrOpt Int), '("_A", AttrOpt NDArrayHandle),-        '("_B", AttrOpt NDArrayHandle), '("_C", AttrOpt NDArrayHandle)]--_linalg_gemm ::-             forall args . Fullfilled "_linalg_gemm(ndarray)" args =>-               ArgsHMap "_linalg_gemm(ndarray)" args -> IO [NDArrayHandle]-_linalg_gemm args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle),-               ("_C",) <$> (args !? #_C :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_gemm_upd ::-                 forall args . Fullfilled "_linalg_gemm(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_gemm(ndarray)" args -> IO ()-_linalg_gemm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle),-               ("_C",) <$> (args !? #_C :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_gemm(ndarray)" = '[]--_backward_linalg_gemm ::-                      forall args . Fullfilled "_backward_linalg_gemm(ndarray)" args =>-                        ArgsHMap "_backward_linalg_gemm(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_gemm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_gemm_upd ::-                          forall args . Fullfilled "_backward_linalg_gemm(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_gemm(ndarray)" args -> IO ()-_backward_linalg_gemm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_gemm2(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("axis", AttrOpt Int),-        '("_A", AttrOpt NDArrayHandle), '("_B", AttrOpt NDArrayHandle)]--_linalg_gemm2 ::-              forall args . Fullfilled "_linalg_gemm2(ndarray)" args =>-                ArgsHMap "_linalg_gemm2(ndarray)" args -> IO [NDArrayHandle]-_linalg_gemm2 args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_gemm2_upd ::-                  forall args . Fullfilled "_linalg_gemm2(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_gemm2(ndarray)" args -> IO ()-_linalg_gemm2_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_gemm2(ndarray)" = '[]--_backward_linalg_gemm2 ::-                       forall args . Fullfilled "_backward_linalg_gemm2(ndarray)" args =>-                         ArgsHMap "_backward_linalg_gemm2(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_gemm2 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_gemm2_upd ::-                           forall args . Fullfilled "_backward_linalg_gemm2(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_gemm2(ndarray)" args -> IO ()-_backward_linalg_gemm2_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_potrf(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_potrf ::-              forall args . Fullfilled "_linalg_potrf(ndarray)" args =>-                ArgsHMap "_linalg_potrf(ndarray)" args -> IO [NDArrayHandle]-_linalg_potrf args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_potrf_upd ::-                  forall args . Fullfilled "_linalg_potrf(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_potrf(ndarray)" args -> IO ()-_linalg_potrf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_potrf(ndarray)" = '[]--_backward_linalg_potrf ::-                       forall args . Fullfilled "_backward_linalg_potrf(ndarray)" args =>-                         ArgsHMap "_backward_linalg_potrf(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_potrf args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_potrf_upd ::-                           forall args . Fullfilled "_backward_linalg_potrf(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_potrf(ndarray)" args -> IO ()-_backward_linalg_potrf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_potri(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_potri ::-              forall args . Fullfilled "_linalg_potri(ndarray)" args =>-                ArgsHMap "_linalg_potri(ndarray)" args -> IO [NDArrayHandle]-_linalg_potri args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_potri_upd ::-                  forall args . Fullfilled "_linalg_potri(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_potri(ndarray)" args -> IO ()-_linalg_potri_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_potri(ndarray)" = '[]--_backward_linalg_potri ::-                       forall args . Fullfilled "_backward_linalg_potri(ndarray)" args =>-                         ArgsHMap "_backward_linalg_potri(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_potri args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_potri_upd ::-                           forall args . Fullfilled "_backward_linalg_potri(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_potri(ndarray)" args -> IO ()-_backward_linalg_potri_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_trmm(ndarray)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("lower", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt NDArrayHandle), '("_B", AttrOpt NDArrayHandle)]--_linalg_trmm ::-             forall args . Fullfilled "_linalg_trmm(ndarray)" args =>-               ArgsHMap "_linalg_trmm(ndarray)" args -> IO [NDArrayHandle]-_linalg_trmm args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_trmm_upd ::-                 forall args . Fullfilled "_linalg_trmm(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_trmm(ndarray)" args -> IO ()-_linalg_trmm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_trmm(ndarray)" = '[]--_backward_linalg_trmm ::-                      forall args . Fullfilled "_backward_linalg_trmm(ndarray)" args =>-                        ArgsHMap "_backward_linalg_trmm(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_trmm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_trmm_upd ::-                          forall args . Fullfilled "_backward_linalg_trmm(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_trmm(ndarray)" args -> IO ()-_backward_linalg_trmm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_trsm(ndarray)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("lower", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt NDArrayHandle), '("_B", AttrOpt NDArrayHandle)]--_linalg_trsm ::-             forall args . Fullfilled "_linalg_trsm(ndarray)" args =>-               ArgsHMap "_linalg_trsm(ndarray)" args -> IO [NDArrayHandle]-_linalg_trsm args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_trsm_upd ::-                 forall args . Fullfilled "_linalg_trsm(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_trsm(ndarray)" args -> IO ()-_linalg_trsm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_trsm(ndarray)" = '[]--_backward_linalg_trsm ::-                      forall args . Fullfilled "_backward_linalg_trsm(ndarray)" args =>-                        ArgsHMap "_backward_linalg_trsm(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_trsm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_trsm_upd ::-                          forall args . Fullfilled "_backward_linalg_trsm(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_trsm(ndarray)" args -> IO ()-_backward_linalg_trsm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_sumlogdiag(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_sumlogdiag ::-                   forall args . Fullfilled "_linalg_sumlogdiag(ndarray)" args =>-                     ArgsHMap "_linalg_sumlogdiag(ndarray)" args -> IO [NDArrayHandle]-_linalg_sumlogdiag args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_sumlogdiag_upd ::-                       forall args . Fullfilled "_linalg_sumlogdiag(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_linalg_sumlogdiag(ndarray)" args -> IO ()-_linalg_sumlogdiag_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_sumlogdiag(ndarray)"-     = '[]--_backward_linalg_sumlogdiag ::-                            forall args .-                              Fullfilled "_backward_linalg_sumlogdiag(ndarray)" args =>-                              ArgsHMap "_backward_linalg_sumlogdiag(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_linalg_sumlogdiag args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_sumlogdiag_upd ::-                                forall args .-                                  Fullfilled "_backward_linalg_sumlogdiag(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_linalg_sumlogdiag(ndarray)" args -> IO ()-_backward_linalg_sumlogdiag_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_syrk(ndarray)" =-     '[ '("transpose", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt NDArrayHandle)]--_linalg_syrk ::-             forall args . Fullfilled "_linalg_syrk(ndarray)" args =>-               ArgsHMap "_linalg_syrk(ndarray)" args -> IO [NDArrayHandle]-_linalg_syrk args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_syrk_upd ::-                 forall args . Fullfilled "_linalg_syrk(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_syrk(ndarray)" args -> IO ()-_linalg_syrk_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_syrk(ndarray)" = '[]--_backward_linalg_syrk ::-                      forall args . Fullfilled "_backward_linalg_syrk(ndarray)" args =>-                        ArgsHMap "_backward_linalg_syrk(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_syrk args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_syrk_upd ::-                          forall args . Fullfilled "_backward_linalg_syrk(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_syrk(ndarray)" args -> IO ()-_backward_linalg_syrk_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_gelqf(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_gelqf ::-              forall args . Fullfilled "_linalg_gelqf(ndarray)" args =>-                ArgsHMap "_linalg_gelqf(ndarray)" args -> IO [NDArrayHandle]-_linalg_gelqf args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_gelqf_upd ::-                  forall args . Fullfilled "_linalg_gelqf(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_gelqf(ndarray)" args -> IO ()-_linalg_gelqf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_gelqf(ndarray)" = '[]--_backward_linalg_gelqf ::-                       forall args . Fullfilled "_backward_linalg_gelqf(ndarray)" args =>-                         ArgsHMap "_backward_linalg_gelqf(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_gelqf args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_gelqf_upd ::-                           forall args . Fullfilled "_backward_linalg_gelqf(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_gelqf(ndarray)" args -> IO ()-_backward_linalg_gelqf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_syevd(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_syevd ::-              forall args . Fullfilled "_linalg_syevd(ndarray)" args =>-                ArgsHMap "_linalg_syevd(ndarray)" args -> IO [NDArrayHandle]-_linalg_syevd args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_syevd_upd ::-                  forall args . Fullfilled "_linalg_syevd(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_syevd(ndarray)" args -> IO ()-_linalg_syevd_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_syevd(ndarray)" = '[]--_backward_linalg_syevd ::-                       forall args . Fullfilled "_backward_linalg_syevd(ndarray)" args =>-                         ArgsHMap "_backward_linalg_syevd(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_syevd args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_syevd_upd ::-                           forall args . Fullfilled "_backward_linalg_syevd(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_syevd(ndarray)" args -> IO ()-_backward_linalg_syevd_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_histogram(ndarray)" =-     '[ '("bin_cnt", AttrOpt (Maybe Int)), '("range", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle), '("bins", AttrOpt NDArrayHandle)]--_histogram ::-           forall args . Fullfilled "_histogram(ndarray)" args =>-             ArgsHMap "_histogram(ndarray)" args -> IO [NDArrayHandle]-_histogram args-  = let scalarArgs-          = catMaybes-              [("bin_cnt",) . showValue <$>-                 (args !? #bin_cnt :: Maybe (Maybe Int)),-               ("range",) . showValue <$> (args !? #range :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("bins",) <$> (args !? #bins :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_histogram"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_histogram_upd ::-               forall args . Fullfilled "_histogram(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_histogram(ndarray)" args -> IO ()-_histogram_upd outputs args-  = let scalarArgs-          = catMaybes-              [("bin_cnt",) . showValue <$>-                 (args !? #bin_cnt :: Maybe (Maybe Int)),-               ("range",) . showValue <$> (args !? #range :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("bins",) <$> (args !? #bins :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_histogram"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cast_storage(ndarray)" =-     '[ '("stype",-          AttrReq (EnumType '["csr", "default", "row_sparse"])),-        '("data", AttrOpt NDArrayHandle)]--cast_storage ::-             forall args . Fullfilled "cast_storage(ndarray)" args =>-               ArgsHMap "cast_storage(ndarray)" args -> IO [NDArrayHandle]-cast_storage args-  = let scalarArgs-          = catMaybes-              [("stype",) . showValue <$>-                 (args !? #stype ::-                    Maybe (EnumType '["csr", "default", "row_sparse"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cast_storage"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cast_storage_upd ::-                 forall args . Fullfilled "cast_storage(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "cast_storage(ndarray)" args -> IO ()-cast_storage_upd outputs args-  = let scalarArgs-          = catMaybes-              [("stype",) . showValue <$>-                 (args !? #stype ::-                    Maybe (EnumType '["csr", "default", "row_sparse"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cast_storage"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_equal_scalar ::-              forall args . Fullfilled "_equal_scalar(ndarray)" args =>-                ArgsHMap "_equal_scalar(ndarray)" args -> IO [NDArrayHandle]-_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_equal_scalar_upd ::-                  forall args . Fullfilled "_equal_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_equal_scalar(ndarray)" args -> IO ()-_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_not_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_not_equal_scalar ::-                  forall args . Fullfilled "_not_equal_scalar(ndarray)" args =>-                    ArgsHMap "_not_equal_scalar(ndarray)" args -> IO [NDArrayHandle]-_not_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_not_equal_scalar_upd ::-                      forall args . Fullfilled "_not_equal_scalar(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_not_equal_scalar(ndarray)" args -> IO ()-_not_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_greater_scalar ::-                forall args . Fullfilled "_greater_scalar(ndarray)" args =>-                  ArgsHMap "_greater_scalar(ndarray)" args -> IO [NDArrayHandle]-_greater_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_scalar_upd ::-                    forall args . Fullfilled "_greater_scalar(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_greater_scalar(ndarray)" args -> IO ()-_greater_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_greater_equal_scalar ::-                      forall args . Fullfilled "_greater_equal_scalar(ndarray)" args =>-                        ArgsHMap "_greater_equal_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_greater_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_equal_scalar_upd ::-                          forall args . Fullfilled "_greater_equal_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_greater_equal_scalar(ndarray)" args -> IO ()-_greater_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_lesser_scalar ::-               forall args . Fullfilled "_lesser_scalar(ndarray)" args =>-                 ArgsHMap "_lesser_scalar(ndarray)" args -> IO [NDArrayHandle]-_lesser_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_scalar_upd ::-                   forall args . Fullfilled "_lesser_scalar(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_lesser_scalar(ndarray)" args -> IO ()-_lesser_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_lesser_equal_scalar ::-                     forall args . Fullfilled "_lesser_equal_scalar(ndarray)" args =>-                       ArgsHMap "_lesser_equal_scalar(ndarray)" args -> IO [NDArrayHandle]-_lesser_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_equal_scalar_upd ::-                         forall args . Fullfilled "_lesser_equal_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_lesser_equal_scalar(ndarray)" args -> IO ()-_lesser_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_and_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_logical_and_scalar ::-                    forall args . Fullfilled "_logical_and_scalar(ndarray)" args =>-                      ArgsHMap "_logical_and_scalar(ndarray)" args -> IO [NDArrayHandle]-_logical_and_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_and_scalar_upd ::-                        forall args . Fullfilled "_logical_and_scalar(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_logical_and_scalar(ndarray)" args -> IO ()-_logical_and_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_or_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_logical_or_scalar ::-                   forall args . Fullfilled "_logical_or_scalar(ndarray)" args =>-                     ArgsHMap "_logical_or_scalar(ndarray)" args -> IO [NDArrayHandle]-_logical_or_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_or_scalar_upd ::-                       forall args . Fullfilled "_logical_or_scalar(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_logical_or_scalar(ndarray)" args -> IO ()-_logical_or_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_xor_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_logical_xor_scalar ::-                    forall args . Fullfilled "_logical_xor_scalar(ndarray)" args =>-                      ArgsHMap "_logical_xor_scalar(ndarray)" args -> IO [NDArrayHandle]-_logical_xor_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_xor_scalar_upd ::-                        forall args . Fullfilled "_logical_xor_scalar(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_logical_xor_scalar(ndarray)" args -> IO ()-_logical_xor_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "relu(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--relu ::-     forall args . Fullfilled "relu(ndarray)" args =>-       ArgsHMap "relu(ndarray)" args -> IO [NDArrayHandle]-relu args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--relu_upd ::-         forall args . Fullfilled "relu(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "relu(ndarray)" args -> IO ()-relu_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_relu(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_relu ::-               forall args . Fullfilled "_backward_relu(ndarray)" args =>-                 ArgsHMap "_backward_relu(ndarray)" args -> IO [NDArrayHandle]-_backward_relu args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_relu_upd ::-                   forall args . Fullfilled "_backward_relu(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_relu(ndarray)" args -> IO ()-_backward_relu_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sigmoid(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sigmoid ::-        forall args . Fullfilled "sigmoid(ndarray)" args =>-          ArgsHMap "sigmoid(ndarray)" args -> IO [NDArrayHandle]-sigmoid args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sigmoid_upd ::-            forall args . Fullfilled "sigmoid(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "sigmoid(ndarray)" args -> IO ()-sigmoid_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sigmoid(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sigmoid ::-                  forall args . Fullfilled "_backward_sigmoid(ndarray)" args =>-                    ArgsHMap "_backward_sigmoid(ndarray)" args -> IO [NDArrayHandle]-_backward_sigmoid args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sigmoid_upd ::-                      forall args . Fullfilled "_backward_sigmoid(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_sigmoid(ndarray)" args -> IO ()-_backward_sigmoid_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "hard_sigmoid(ndarray)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--hard_sigmoid ::-             forall args . Fullfilled "hard_sigmoid(ndarray)" args =>-               ArgsHMap "hard_sigmoid(ndarray)" args -> IO [NDArrayHandle]-hard_sigmoid args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "hard_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--hard_sigmoid_upd ::-                 forall args . Fullfilled "hard_sigmoid(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "hard_sigmoid(ndarray)" args -> IO ()-hard_sigmoid_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "hard_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_hard_sigmoid(ndarray)" = '[]--_backward_hard_sigmoid ::-                       forall args . Fullfilled "_backward_hard_sigmoid(ndarray)" args =>-                         ArgsHMap "_backward_hard_sigmoid(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_hard_sigmoid args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hard_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_hard_sigmoid_upd ::-                           forall args . Fullfilled "_backward_hard_sigmoid(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_hard_sigmoid(ndarray)" args -> IO ()-_backward_hard_sigmoid_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hard_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "softsign(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--softsign ::-         forall args . Fullfilled "softsign(ndarray)" args =>-           ArgsHMap "softsign(ndarray)" args -> IO [NDArrayHandle]-softsign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softsign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--softsign_upd ::-             forall args . Fullfilled "softsign(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "softsign(ndarray)" args -> IO ()-softsign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softsign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_softsign(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_softsign ::-                   forall args . Fullfilled "_backward_softsign(ndarray)" args =>-                     ArgsHMap "_backward_softsign(ndarray)" args -> IO [NDArrayHandle]-_backward_softsign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softsign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_softsign_upd ::-                       forall args . Fullfilled "_backward_softsign(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_softsign(ndarray)" args -> IO ()-_backward_softsign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softsign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_copy(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_copy ::-      forall args . Fullfilled "_copy(ndarray)" args =>-        ArgsHMap "_copy(ndarray)" args -> IO [NDArrayHandle]-_copy args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_copy_upd ::-          forall args . Fullfilled "_copy(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_copy(ndarray)" args -> IO ()-_copy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_copy(ndarray)" = '[]--_backward_copy ::-               forall args . Fullfilled "_backward_copy(ndarray)" args =>-                 ArgsHMap "_backward_copy(ndarray)" args -> IO [NDArrayHandle]-_backward_copy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_copy_upd ::-                   forall args . Fullfilled "_backward_copy(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_copy(ndarray)" args -> IO ()-_backward_copy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BlockGrad(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_BlockGrad ::-           forall args . Fullfilled "_BlockGrad(ndarray)" args =>-             ArgsHMap "_BlockGrad(ndarray)" args -> IO [NDArrayHandle]-_BlockGrad args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BlockGrad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BlockGrad_upd ::-               forall args . Fullfilled "_BlockGrad(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_BlockGrad(ndarray)" args -> IO ()-_BlockGrad_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BlockGrad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "make_loss(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--make_loss ::-          forall args . Fullfilled "make_loss(ndarray)" args =>-            ArgsHMap "make_loss(ndarray)" args -> IO [NDArrayHandle]-make_loss args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "make_loss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--make_loss_upd ::-              forall args . Fullfilled "make_loss(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "make_loss(ndarray)" args -> IO ()-make_loss_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "make_loss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_identity_with_attr_like_rhs(ndarray)"-     =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_identity_with_attr_like_rhs ::-                             forall args .-                               Fullfilled "_identity_with_attr_like_rhs(ndarray)" args =>-                               ArgsHMap "_identity_with_attr_like_rhs(ndarray)" args ->-                                 IO [NDArrayHandle]-_identity_with_attr_like_rhs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_identity_with_attr_like_rhs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_identity_with_attr_like_rhs_upd ::-                                 forall args .-                                   Fullfilled "_identity_with_attr_like_rhs(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_identity_with_attr_like_rhs(ndarray)" args -> IO ()-_identity_with_attr_like_rhs_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_identity_with_attr_like_rhs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "reshape_like(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--reshape_like ::-             forall args . Fullfilled "reshape_like(ndarray)" args =>-               ArgsHMap "reshape_like(ndarray)" args -> IO [NDArrayHandle]-reshape_like args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reshape_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--reshape_like_upd ::-                 forall args . Fullfilled "reshape_like(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "reshape_like(ndarray)" args -> IO ()-reshape_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reshape_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "shape_array(ndarray)" =-     '[ '("lhs_begin", AttrOpt (Maybe Int)),-        '("lhs_end", AttrOpt (Maybe Int)),-        '("rhs_begin", AttrOpt (Maybe Int)),-        '("rhs_end", AttrOpt (Maybe Int)),-        '("data", AttrOpt NDArrayHandle)]--shape_array ::-            forall args . Fullfilled "shape_array(ndarray)" args =>-              ArgsHMap "shape_array(ndarray)" args -> IO [NDArrayHandle]-shape_array args-  = let scalarArgs-          = catMaybes-              [("lhs_begin",) . showValue <$>-                 (args !? #lhs_begin :: Maybe (Maybe Int)),-               ("lhs_end",) . showValue <$>-                 (args !? #lhs_end :: Maybe (Maybe Int)),-               ("rhs_begin",) . showValue <$>-                 (args !? #rhs_begin :: Maybe (Maybe Int)),-               ("rhs_end",) . showValue <$>-                 (args !? #rhs_end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "shape_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--shape_array_upd ::-                forall args . Fullfilled "shape_array(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "shape_array(ndarray)" args -> IO ()-shape_array_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lhs_begin",) . showValue <$>-                 (args !? #lhs_begin :: Maybe (Maybe Int)),-               ("lhs_end",) . showValue <$>-                 (args !? #lhs_end :: Maybe (Maybe Int)),-               ("rhs_begin",) . showValue <$>-                 (args !? #rhs_begin :: Maybe (Maybe Int)),-               ("rhs_end",) . showValue <$>-                 (args !? #rhs_end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "shape_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "size_array(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--size_array ::-           forall args . Fullfilled "size_array(ndarray)" args =>-             ArgsHMap "size_array(ndarray)" args -> IO [NDArrayHandle]-size_array args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "size_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--size_array_upd ::-               forall args . Fullfilled "size_array(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "size_array(ndarray)" args -> IO ()-size_array_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "size_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Cast(ndarray)" =-     '[ '("dtype",-          AttrReq-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--_Cast ::-      forall args . Fullfilled "_Cast(ndarray)" args =>-        ArgsHMap "_Cast(ndarray)" args -> IO [NDArrayHandle]-_Cast args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Cast_upd ::-          forall args . Fullfilled "_Cast(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_Cast(ndarray)" args -> IO ()-_Cast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cast(ndarray)" = '[]--_backward_cast ::-               forall args . Fullfilled "_backward_cast(ndarray)" args =>-                 ArgsHMap "_backward_cast(ndarray)" args -> IO [NDArrayHandle]-_backward_cast args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cast_upd ::-                   forall args . Fullfilled "_backward_cast(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cast(ndarray)" args -> IO ()-_backward_cast_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "negative(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--negative ::-         forall args . Fullfilled "negative(ndarray)" args =>-           ArgsHMap "negative(ndarray)" args -> IO [NDArrayHandle]-negative args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "negative"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--negative_upd ::-             forall args . Fullfilled "negative(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "negative(ndarray)" args -> IO ()-negative_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "negative"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "reciprocal(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--reciprocal ::-           forall args . Fullfilled "reciprocal(ndarray)" args =>-             ArgsHMap "reciprocal(ndarray)" args -> IO [NDArrayHandle]-reciprocal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--reciprocal_upd ::-               forall args . Fullfilled "reciprocal(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "reciprocal(ndarray)" args -> IO ()-reciprocal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_reciprocal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_reciprocal ::-                     forall args . Fullfilled "_backward_reciprocal(ndarray)" args =>-                       ArgsHMap "_backward_reciprocal(ndarray)" args -> IO [NDArrayHandle]-_backward_reciprocal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_reciprocal_upd ::-                         forall args . Fullfilled "_backward_reciprocal(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_reciprocal(ndarray)" args -> IO ()-_backward_reciprocal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "abs(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--abs ::-    forall args . Fullfilled "abs(ndarray)" args =>-      ArgsHMap "abs(ndarray)" args -> IO [NDArrayHandle]-abs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--abs_upd ::-        forall args . Fullfilled "abs(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "abs(ndarray)" args -> IO ()-abs_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_abs(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_abs ::-              forall args . Fullfilled "_backward_abs(ndarray)" args =>-                ArgsHMap "_backward_abs(ndarray)" args -> IO [NDArrayHandle]-_backward_abs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_abs_upd ::-                  forall args . Fullfilled "_backward_abs(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_abs(ndarray)" args -> IO ()-_backward_abs_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sign(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sign ::-     forall args . Fullfilled "sign(ndarray)" args =>-       ArgsHMap "sign(ndarray)" args -> IO [NDArrayHandle]-sign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sign_upd ::-         forall args . Fullfilled "sign(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sign(ndarray)" args -> IO ()-sign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sign(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sign ::-               forall args . Fullfilled "_backward_sign(ndarray)" args =>-                 ArgsHMap "_backward_sign(ndarray)" args -> IO [NDArrayHandle]-_backward_sign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sign_upd ::-                   forall args . Fullfilled "_backward_sign(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_sign(ndarray)" args -> IO ()-_backward_sign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "round(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--round ::-      forall args . Fullfilled "round(ndarray)" args =>-        ArgsHMap "round(ndarray)" args -> IO [NDArrayHandle]-round args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "round"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--round_upd ::-          forall args . Fullfilled "round(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "round(ndarray)" args -> IO ()-round_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "round"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rint(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--rint ::-     forall args . Fullfilled "rint(ndarray)" args =>-       ArgsHMap "rint(ndarray)" args -> IO [NDArrayHandle]-rint args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rint"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rint_upd ::-         forall args . Fullfilled "rint(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "rint(ndarray)" args -> IO ()-rint_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rint"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ceil(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--ceil ::-     forall args . Fullfilled "ceil(ndarray)" args =>-       ArgsHMap "ceil(ndarray)" args -> IO [NDArrayHandle]-ceil args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ceil"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ceil_upd ::-         forall args . Fullfilled "ceil(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "ceil(ndarray)" args -> IO ()-ceil_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ceil"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "floor(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--floor ::-      forall args . Fullfilled "floor(ndarray)" args =>-        ArgsHMap "floor(ndarray)" args -> IO [NDArrayHandle]-floor args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "floor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--floor_upd ::-          forall args . Fullfilled "floor(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "floor(ndarray)" args -> IO ()-floor_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "floor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "trunc(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--trunc ::-      forall args . Fullfilled "trunc(ndarray)" args =>-        ArgsHMap "trunc(ndarray)" args -> IO [NDArrayHandle]-trunc args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "trunc"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--trunc_upd ::-          forall args . Fullfilled "trunc(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "trunc(ndarray)" args -> IO ()-trunc_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "trunc"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "fix(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--fix ::-    forall args . Fullfilled "fix(ndarray)" args =>-      ArgsHMap "fix(ndarray)" args -> IO [NDArrayHandle]-fix args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fix"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--fix_upd ::-        forall args . Fullfilled "fix(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "fix(ndarray)" args -> IO ()-fix_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fix"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "square(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--square ::-       forall args . Fullfilled "square(ndarray)" args =>-         ArgsHMap "square(ndarray)" args -> IO [NDArrayHandle]-square args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--square_upd ::-           forall args . Fullfilled "square(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "square(ndarray)" args -> IO ()-square_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_square(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_square ::-                 forall args . Fullfilled "_backward_square(ndarray)" args =>-                   ArgsHMap "_backward_square(ndarray)" args -> IO [NDArrayHandle]-_backward_square args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_square_upd ::-                     forall args . Fullfilled "_backward_square(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_square(ndarray)" args -> IO ()-_backward_square_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sqrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sqrt ::-     forall args . Fullfilled "sqrt(ndarray)" args =>-       ArgsHMap "sqrt(ndarray)" args -> IO [NDArrayHandle]-sqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sqrt_upd ::-         forall args . Fullfilled "sqrt(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sqrt(ndarray)" args -> IO ()-sqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sqrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sqrt ::-               forall args . Fullfilled "_backward_sqrt(ndarray)" args =>-                 ArgsHMap "_backward_sqrt(ndarray)" args -> IO [NDArrayHandle]-_backward_sqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sqrt_upd ::-                   forall args . Fullfilled "_backward_sqrt(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_sqrt(ndarray)" args -> IO ()-_backward_sqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rsqrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--rsqrt ::-      forall args . Fullfilled "rsqrt(ndarray)" args =>-        ArgsHMap "rsqrt(ndarray)" args -> IO [NDArrayHandle]-rsqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rsqrt_upd ::-          forall args . Fullfilled "rsqrt(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "rsqrt(ndarray)" args -> IO ()-rsqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rsqrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rsqrt ::-                forall args . Fullfilled "_backward_rsqrt(ndarray)" args =>-                  ArgsHMap "_backward_rsqrt(ndarray)" args -> IO [NDArrayHandle]-_backward_rsqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rsqrt_upd ::-                    forall args . Fullfilled "_backward_rsqrt(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_rsqrt(ndarray)" args -> IO ()-_backward_rsqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cbrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--cbrt ::-     forall args . Fullfilled "cbrt(ndarray)" args =>-       ArgsHMap "cbrt(ndarray)" args -> IO [NDArrayHandle]-cbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cbrt_upd ::-         forall args . Fullfilled "cbrt(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "cbrt(ndarray)" args -> IO ()-cbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cbrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_cbrt ::-               forall args . Fullfilled "_backward_cbrt(ndarray)" args =>-                 ArgsHMap "_backward_cbrt(ndarray)" args -> IO [NDArrayHandle]-_backward_cbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cbrt_upd ::-                   forall args . Fullfilled "_backward_cbrt(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cbrt(ndarray)" args -> IO ()-_backward_cbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "erf(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--erf ::-    forall args . Fullfilled "erf(ndarray)" args =>-      ArgsHMap "erf(ndarray)" args -> IO [NDArrayHandle]-erf args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "erf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--erf_upd ::-        forall args . Fullfilled "erf(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "erf(ndarray)" args -> IO ()-erf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "erf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_erf(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_erf ::-              forall args . Fullfilled "_backward_erf(ndarray)" args =>-                ArgsHMap "_backward_erf(ndarray)" args -> IO [NDArrayHandle]-_backward_erf args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_erf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_erf_upd ::-                  forall args . Fullfilled "_backward_erf(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_erf(ndarray)" args -> IO ()-_backward_erf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_erf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rcbrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--rcbrt ::-      forall args . Fullfilled "rcbrt(ndarray)" args =>-        ArgsHMap "rcbrt(ndarray)" args -> IO [NDArrayHandle]-rcbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rcbrt_upd ::-          forall args . Fullfilled "rcbrt(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "rcbrt(ndarray)" args -> IO ()-rcbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rcbrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rcbrt ::-                forall args . Fullfilled "_backward_rcbrt(ndarray)" args =>-                  ArgsHMap "_backward_rcbrt(ndarray)" args -> IO [NDArrayHandle]-_backward_rcbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rcbrt_upd ::-                    forall args . Fullfilled "_backward_rcbrt(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_rcbrt(ndarray)" args -> IO ()-_backward_rcbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "exp(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--exp ::-    forall args . Fullfilled "exp(ndarray)" args =>-      ArgsHMap "exp(ndarray)" args -> IO [NDArrayHandle]-exp args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "exp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--exp_upd ::-        forall args . Fullfilled "exp(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "exp(ndarray)" args -> IO ()-exp_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "exp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log ::-    forall args . Fullfilled "log(ndarray)" args =>-      ArgsHMap "log(ndarray)" args -> IO [NDArrayHandle]-log args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log_upd ::-        forall args . Fullfilled "log(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "log(ndarray)" args -> IO ()-log_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log10(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log10 ::-      forall args . Fullfilled "log10(ndarray)" args =>-        ArgsHMap "log10(ndarray)" args -> IO [NDArrayHandle]-log10 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log10_upd ::-          forall args . Fullfilled "log10(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "log10(ndarray)" args -> IO ()-log10_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log2(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log2 ::-     forall args . Fullfilled "log2(ndarray)" args =>-       ArgsHMap "log2(ndarray)" args -> IO [NDArrayHandle]-log2 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log2_upd ::-         forall args . Fullfilled "log2(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "log2(ndarray)" args -> IO ()-log2_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log ::-              forall args . Fullfilled "_backward_log(ndarray)" args =>-                ArgsHMap "_backward_log(ndarray)" args -> IO [NDArrayHandle]-_backward_log args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log_upd ::-                  forall args . Fullfilled "_backward_log(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_log(ndarray)" args -> IO ()-_backward_log_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log10(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log10 ::-                forall args . Fullfilled "_backward_log10(ndarray)" args =>-                  ArgsHMap "_backward_log10(ndarray)" args -> IO [NDArrayHandle]-_backward_log10 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log10_upd ::-                    forall args . Fullfilled "_backward_log10(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_log10(ndarray)" args -> IO ()-_backward_log10_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log2(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log2 ::-               forall args . Fullfilled "_backward_log2(ndarray)" args =>-                 ArgsHMap "_backward_log2(ndarray)" args -> IO [NDArrayHandle]-_backward_log2 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log2_upd ::-                   forall args . Fullfilled "_backward_log2(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_log2(ndarray)" args -> IO ()-_backward_log2_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log1p(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log1p ::-      forall args . Fullfilled "log1p(ndarray)" args =>-        ArgsHMap "log1p(ndarray)" args -> IO [NDArrayHandle]-log1p args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log1p_upd ::-          forall args . Fullfilled "log1p(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "log1p(ndarray)" args -> IO ()-log1p_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log1p(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log1p ::-                forall args . Fullfilled "_backward_log1p(ndarray)" args =>-                  ArgsHMap "_backward_log1p(ndarray)" args -> IO [NDArrayHandle]-_backward_log1p args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log1p_upd ::-                    forall args . Fullfilled "_backward_log1p(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_log1p(ndarray)" args -> IO ()-_backward_log1p_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "expm1(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--expm1 ::-      forall args . Fullfilled "expm1(ndarray)" args =>-        ArgsHMap "expm1(ndarray)" args -> IO [NDArrayHandle]-expm1 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--expm1_upd ::-          forall args . Fullfilled "expm1(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "expm1(ndarray)" args -> IO ()-expm1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_expm1(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_expm1 ::-                forall args . Fullfilled "_backward_expm1(ndarray)" args =>-                  ArgsHMap "_backward_expm1(ndarray)" args -> IO [NDArrayHandle]-_backward_expm1 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_expm1_upd ::-                    forall args . Fullfilled "_backward_expm1(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_expm1(ndarray)" args -> IO ()-_backward_expm1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "gamma(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--gamma ::-      forall args . Fullfilled "gamma(ndarray)" args =>-        ArgsHMap "gamma(ndarray)" args -> IO [NDArrayHandle]-gamma args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--gamma_upd ::-          forall args . Fullfilled "gamma(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "gamma(ndarray)" args -> IO ()-gamma_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_gamma(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_gamma ::-                forall args . Fullfilled "_backward_gamma(ndarray)" args =>-                  ArgsHMap "_backward_gamma(ndarray)" args -> IO [NDArrayHandle]-_backward_gamma args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_gamma_upd ::-                    forall args . Fullfilled "_backward_gamma(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_gamma(ndarray)" args -> IO ()-_backward_gamma_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "gammaln(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--gammaln ::-        forall args . Fullfilled "gammaln(ndarray)" args =>-          ArgsHMap "gammaln(ndarray)" args -> IO [NDArrayHandle]-gammaln args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--gammaln_upd ::-            forall args . Fullfilled "gammaln(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "gammaln(ndarray)" args -> IO ()-gammaln_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_gammaln(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_gammaln ::-                  forall args . Fullfilled "_backward_gammaln(ndarray)" args =>-                    ArgsHMap "_backward_gammaln(ndarray)" args -> IO [NDArrayHandle]-_backward_gammaln args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_gammaln_upd ::-                      forall args . Fullfilled "_backward_gammaln(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_gammaln(ndarray)" args -> IO ()-_backward_gammaln_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "logical_not(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--logical_not ::-            forall args . Fullfilled "logical_not(ndarray)" args =>-              ArgsHMap "logical_not(ndarray)" args -> IO [NDArrayHandle]-logical_not args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "logical_not"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--logical_not_upd ::-                forall args . Fullfilled "logical_not(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "logical_not(ndarray)" args -> IO ()-logical_not_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "logical_not"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sum(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--sum ::-    forall args . Fullfilled "sum(ndarray)" args =>-      ArgsHMap "sum(ndarray)" args -> IO [NDArrayHandle]-sum args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sum_upd ::-        forall args . Fullfilled "sum(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "sum(ndarray)" args -> IO ()-sum_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sum(ndarray)" = '[]--_backward_sum ::-              forall args . Fullfilled "_backward_sum(ndarray)" args =>-                ArgsHMap "_backward_sum(ndarray)" args -> IO [NDArrayHandle]-_backward_sum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sum_upd ::-                  forall args . Fullfilled "_backward_sum(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_sum(ndarray)" args -> IO ()-_backward_sum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "mean(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--mean ::-     forall args . Fullfilled "mean(ndarray)" args =>-       ArgsHMap "mean(ndarray)" args -> IO [NDArrayHandle]-mean args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--mean_upd ::-         forall args . Fullfilled "mean(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "mean(ndarray)" args -> IO ()-mean_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mean(ndarray)" = '[]--_backward_mean ::-               forall args . Fullfilled "_backward_mean(ndarray)" args =>-                 ArgsHMap "_backward_mean(ndarray)" args -> IO [NDArrayHandle]-_backward_mean args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mean_upd ::-                   forall args . Fullfilled "_backward_mean(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_mean(ndarray)" args -> IO ()-_backward_mean_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "prod(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--prod ::-     forall args . Fullfilled "prod(ndarray)" args =>-       ArgsHMap "prod(ndarray)" args -> IO [NDArrayHandle]-prod args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--prod_upd ::-         forall args . Fullfilled "prod(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "prod(ndarray)" args -> IO ()-prod_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_prod(ndarray)" = '[]--_backward_prod ::-               forall args . Fullfilled "_backward_prod(ndarray)" args =>-                 ArgsHMap "_backward_prod(ndarray)" args -> IO [NDArrayHandle]-_backward_prod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_prod_upd ::-                   forall args . Fullfilled "_backward_prod(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_prod(ndarray)" args -> IO ()-_backward_prod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "nansum(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--nansum ::-       forall args . Fullfilled "nansum(ndarray)" args =>-         ArgsHMap "nansum(ndarray)" args -> IO [NDArrayHandle]-nansum args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--nansum_upd ::-           forall args . Fullfilled "nansum(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "nansum(ndarray)" args -> IO ()-nansum_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_nansum(ndarray)" = '[]--_backward_nansum ::-                 forall args . Fullfilled "_backward_nansum(ndarray)" args =>-                   ArgsHMap "_backward_nansum(ndarray)" args -> IO [NDArrayHandle]-_backward_nansum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_nansum_upd ::-                     forall args . Fullfilled "_backward_nansum(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_nansum(ndarray)" args -> IO ()-_backward_nansum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "nanprod(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--nanprod ::-        forall args . Fullfilled "nanprod(ndarray)" args =>-          ArgsHMap "nanprod(ndarray)" args -> IO [NDArrayHandle]-nanprod args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--nanprod_upd ::-            forall args . Fullfilled "nanprod(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "nanprod(ndarray)" args -> IO ()-nanprod_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_nanprod(ndarray)" = '[]--_backward_nanprod ::-                  forall args . Fullfilled "_backward_nanprod(ndarray)" args =>-                    ArgsHMap "_backward_nanprod(ndarray)" args -> IO [NDArrayHandle]-_backward_nanprod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_nanprod_upd ::-                      forall args . Fullfilled "_backward_nanprod(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_nanprod(ndarray)" args -> IO ()-_backward_nanprod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "max(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--max ::-    forall args . Fullfilled "max(ndarray)" args =>-      ArgsHMap "max(ndarray)" args -> IO [NDArrayHandle]-max args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--max_upd ::-        forall args . Fullfilled "max(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "max(ndarray)" args -> IO ()-max_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_max(ndarray)" = '[]--_backward_max ::-              forall args . Fullfilled "_backward_max(ndarray)" args =>-                ArgsHMap "_backward_max(ndarray)" args -> IO [NDArrayHandle]-_backward_max args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_max_upd ::-                  forall args . Fullfilled "_backward_max(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_max(ndarray)" args -> IO ()-_backward_max_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "min(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--min ::-    forall args . Fullfilled "min(ndarray)" args =>-      ArgsHMap "min(ndarray)" args -> IO [NDArrayHandle]-min args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--min_upd ::-        forall args . Fullfilled "min(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "min(ndarray)" args -> IO ()-min_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_min(ndarray)" = '[]--_backward_min ::-              forall args . Fullfilled "_backward_min(ndarray)" args =>-                ArgsHMap "_backward_min(ndarray)" args -> IO [NDArrayHandle]-_backward_min args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_min_upd ::-                  forall args . Fullfilled "_backward_min(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_min(ndarray)" args -> IO ()-_backward_min_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_axis(ndarray)" =-     '[ '("axis", AttrOpt [Int]), '("size", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--broadcast_axis ::-               forall args . Fullfilled "broadcast_axis(ndarray)" args =>-                 ArgsHMap "broadcast_axis(ndarray)" args -> IO [NDArrayHandle]-broadcast_axis args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("size",) . showValue <$> (args !? #size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_axis_upd ::-                   forall args . Fullfilled "broadcast_axis(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "broadcast_axis(ndarray)" args -> IO ()-broadcast_axis_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("size",) . showValue <$> (args !? #size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_to(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--broadcast_to ::-             forall args . Fullfilled "broadcast_to(ndarray)" args =>-               ArgsHMap "broadcast_to(ndarray)" args -> IO [NDArrayHandle]-broadcast_to args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_to"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_to_upd ::-                 forall args . Fullfilled "broadcast_to(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "broadcast_to(ndarray)" args -> IO ()-broadcast_to_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_to"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_broadcast_backward(ndarray)" = '[]--_broadcast_backward ::-                    forall args . Fullfilled "_broadcast_backward(ndarray)" args =>-                      ArgsHMap "_broadcast_backward(ndarray)" args -> IO [NDArrayHandle]-_broadcast_backward args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_broadcast_backward"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_broadcast_backward_upd ::-                        forall args . Fullfilled "_broadcast_backward(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_broadcast_backward(ndarray)" args -> IO ()-_broadcast_backward_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_broadcast_backward"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_like(ndarray)" =-     '[ '("lhs_axes", AttrOpt (Maybe [Int])),-        '("rhs_axes", AttrOpt (Maybe [Int])),-        '("lhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--broadcast_like ::-               forall args . Fullfilled "broadcast_like(ndarray)" args =>-                 ArgsHMap "broadcast_like(ndarray)" args -> IO [NDArrayHandle]-broadcast_like args-  = let scalarArgs-          = catMaybes-              [("lhs_axes",) . showValue <$>-                 (args !? #lhs_axes :: Maybe (Maybe [Int])),-               ("rhs_axes",) . showValue <$>-                 (args !? #rhs_axes :: Maybe (Maybe [Int]))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_like_upd ::-                   forall args . Fullfilled "broadcast_like(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "broadcast_like(ndarray)" args -> IO ()-broadcast_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lhs_axes",) . showValue <$>-                 (args !? #lhs_axes :: Maybe (Maybe [Int])),-               ("rhs_axes",) . showValue <$>-                 (args !? #rhs_axes :: Maybe (Maybe [Int]))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "norm(ndarray)" =-     '[ '("ord", AttrOpt Int), '("axis", AttrOpt (Maybe [Int])),-        '("keepdims", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--norm ::-     forall args . Fullfilled "norm(ndarray)" args =>-       ArgsHMap "norm(ndarray)" args -> IO [NDArrayHandle]-norm args-  = let scalarArgs-          = catMaybes-              [("ord",) . showValue <$> (args !? #ord :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--norm_upd ::-         forall args . Fullfilled "norm(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "norm(ndarray)" args -> IO ()-norm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("ord",) . showValue <$> (args !? #ord :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_norm(ndarray)" = '[]--_backward_norm ::-               forall args . Fullfilled "_backward_norm(ndarray)" args =>-                 ArgsHMap "_backward_norm(ndarray)" args -> IO [NDArrayHandle]-_backward_norm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_norm_upd ::-                   forall args . Fullfilled "_backward_norm(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_norm(ndarray)" args -> IO ()-_backward_norm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_add(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_add ::-             forall args . Fullfilled "elemwise_add(ndarray)" args =>-               ArgsHMap "elemwise_add(ndarray)" args -> IO [NDArrayHandle]-elemwise_add args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_add_upd ::-                 forall args . Fullfilled "elemwise_add(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_add(ndarray)" args -> IO ()-elemwise_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_grad_add(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_grad_add ::-          forall args . Fullfilled "_grad_add(ndarray)" args =>-            ArgsHMap "_grad_add(ndarray)" args -> IO [NDArrayHandle]-_grad_add args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_grad_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_grad_add_upd ::-              forall args . Fullfilled "_grad_add(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_grad_add(ndarray)" args -> IO ()-_grad_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_grad_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_add(ndarray)" = '[]--_backward_add ::-              forall args . Fullfilled "_backward_add(ndarray)" args =>-                ArgsHMap "_backward_add(ndarray)" args -> IO [NDArrayHandle]-_backward_add args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_add_upd ::-                  forall args . Fullfilled "_backward_add(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_add(ndarray)" args -> IO ()-_backward_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_sub(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_sub ::-             forall args . Fullfilled "elemwise_sub(ndarray)" args =>-               ArgsHMap "elemwise_sub(ndarray)" args -> IO [NDArrayHandle]-elemwise_sub args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_sub_upd ::-                 forall args . Fullfilled "elemwise_sub(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_sub(ndarray)" args -> IO ()-elemwise_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sub(ndarray)" = '[]--_backward_sub ::-              forall args . Fullfilled "_backward_sub(ndarray)" args =>-                ArgsHMap "_backward_sub(ndarray)" args -> IO [NDArrayHandle]-_backward_sub args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sub_upd ::-                  forall args . Fullfilled "_backward_sub(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_sub(ndarray)" args -> IO ()-_backward_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_mul(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_mul ::-             forall args . Fullfilled "elemwise_mul(ndarray)" args =>-               ArgsHMap "elemwise_mul(ndarray)" args -> IO [NDArrayHandle]-elemwise_mul args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_mul_upd ::-                 forall args . Fullfilled "elemwise_mul(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_mul(ndarray)" args -> IO ()-elemwise_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mul(ndarray)" = '[]--_backward_mul ::-              forall args . Fullfilled "_backward_mul(ndarray)" args =>-                ArgsHMap "_backward_mul(ndarray)" args -> IO [NDArrayHandle]-_backward_mul args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mul_upd ::-                  forall args . Fullfilled "_backward_mul(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_mul(ndarray)" args -> IO ()-_backward_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_div(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_div ::-             forall args . Fullfilled "elemwise_div(ndarray)" args =>-               ArgsHMap "elemwise_div(ndarray)" args -> IO [NDArrayHandle]-elemwise_div args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_div_upd ::-                 forall args . Fullfilled "elemwise_div(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_div(ndarray)" args -> IO ()-elemwise_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_div(ndarray)" = '[]--_backward_div ::-              forall args . Fullfilled "_backward_div(ndarray)" args =>-                ArgsHMap "_backward_div(ndarray)" args -> IO [NDArrayHandle]-_backward_div args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_div_upd ::-                  forall args . Fullfilled "_backward_div(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_div(ndarray)" args -> IO ()-_backward_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_mod(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_mod ::-     forall args . Fullfilled "_mod(ndarray)" args =>-       ArgsHMap "_mod(ndarray)" args -> IO [NDArrayHandle]-_mod args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_mod_upd ::-         forall args . Fullfilled "_mod(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_mod(ndarray)" args -> IO ()-_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mod(ndarray)" = '[]--_backward_mod ::-              forall args . Fullfilled "_backward_mod(ndarray)" args =>-                ArgsHMap "_backward_mod(ndarray)" args -> IO [NDArrayHandle]-_backward_mod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mod_upd ::-                  forall args . Fullfilled "_backward_mod(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_mod(ndarray)" args -> IO ()-_backward_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_elemwise_div(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_scatter_elemwise_div ::-                      forall args . Fullfilled "_scatter_elemwise_div(ndarray)" args =>-                        ArgsHMap "_scatter_elemwise_div(ndarray)" args ->-                          IO [NDArrayHandle]-_scatter_elemwise_div args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_elemwise_div_upd ::-                          forall args . Fullfilled "_scatter_elemwise_div(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_scatter_elemwise_div(ndarray)" args -> IO ()-_scatter_elemwise_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_plus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_scatter_plus_scalar ::-                     forall args . Fullfilled "_scatter_plus_scalar(ndarray)" args =>-                       ArgsHMap "_scatter_plus_scalar(ndarray)" args -> IO [NDArrayHandle]-_scatter_plus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_plus_scalar_upd ::-                         forall args . Fullfilled "_scatter_plus_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_scatter_plus_scalar(ndarray)" args -> IO ()-_scatter_plus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_minus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_scatter_minus_scalar ::-                      forall args . Fullfilled "_scatter_minus_scalar(ndarray)" args =>-                        ArgsHMap "_scatter_minus_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_scatter_minus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_minus_scalar_upd ::-                          forall args . Fullfilled "_scatter_minus_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_scatter_minus_scalar(ndarray)" args -> IO ()-_scatter_minus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Embedding(ndarray)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle)]--_Embedding ::-           forall args . Fullfilled "_Embedding(ndarray)" args =>-             ArgsHMap "_Embedding(ndarray)" args -> IO [NDArrayHandle]-_Embedding args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Embedding_upd ::-               forall args . Fullfilled "_Embedding(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_Embedding(ndarray)" args -> IO ()-_Embedding_upd outputs args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_SparseEmbedding(ndarray)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle)]--_contrib_SparseEmbedding ::-                         forall args .-                           Fullfilled "_contrib_SparseEmbedding(ndarray)" args =>-                           ArgsHMap "_contrib_SparseEmbedding(ndarray)" args ->-                             IO [NDArrayHandle]-_contrib_SparseEmbedding args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_SparseEmbedding_upd ::-                             forall args .-                               Fullfilled "_contrib_SparseEmbedding(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_contrib_SparseEmbedding(ndarray)" args -> IO ()-_contrib_SparseEmbedding_upd outputs args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Embedding(ndarray)" = '[]--_backward_Embedding ::-                    forall args . Fullfilled "_backward_Embedding(ndarray)" args =>-                      ArgsHMap "_backward_Embedding(ndarray)" args -> IO [NDArrayHandle]-_backward_Embedding args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Embedding_upd ::-                        forall args . Fullfilled "_backward_Embedding(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_Embedding(ndarray)" args -> IO ()-_backward_Embedding_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SparseEmbedding(ndarray)" =-     '[]--_backward_SparseEmbedding ::-                          forall args .-                            Fullfilled "_backward_SparseEmbedding(ndarray)" args =>-                            ArgsHMap "_backward_SparseEmbedding(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_SparseEmbedding args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SparseEmbedding_upd ::-                              forall args .-                                Fullfilled "_backward_SparseEmbedding(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_SparseEmbedding(ndarray)" args -> IO ()-_backward_SparseEmbedding_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "take(ndarray)" =-     '[ '("axis", AttrOpt Int),-        '("mode", AttrOpt (EnumType '["clip", "raise", "wrap"])),-        '("a", AttrOpt NDArrayHandle), '("indices", AttrOpt NDArrayHandle)]--take ::-     forall args . Fullfilled "take(ndarray)" args =>-       ArgsHMap "take(ndarray)" args -> IO [NDArrayHandle]-take args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "raise", "wrap"]))]-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--take_upd ::-         forall args . Fullfilled "take(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "take(ndarray)" args -> IO ()-take_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "raise", "wrap"]))]-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_take(ndarray)" = '[]--_backward_take ::-               forall args . Fullfilled "_backward_take(ndarray)" args =>-                 ArgsHMap "_backward_take(ndarray)" args -> IO [NDArrayHandle]-_backward_take args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_take_upd ::-                   forall args . Fullfilled "_backward_take(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_take(ndarray)" args -> IO ()-_backward_take_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "batch_take(ndarray)" =-     '[ '("a", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--batch_take ::-           forall args . Fullfilled "batch_take(ndarray)" args =>-             ArgsHMap "batch_take(ndarray)" args -> IO [NDArrayHandle]-batch_take args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--batch_take_upd ::-               forall args . Fullfilled "batch_take(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "batch_take(ndarray)" args -> IO ()-batch_take_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "one_hot(ndarray)" =-     '[ '("depth", AttrReq Int), '("on_value", AttrOpt Double),-        '("off_value", AttrOpt Double),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("indices", AttrOpt NDArrayHandle)]--one_hot ::-        forall args . Fullfilled "one_hot(ndarray)" args =>-          ArgsHMap "one_hot(ndarray)" args -> IO [NDArrayHandle]-one_hot args-  = let scalarArgs-          = catMaybes-              [("depth",) . showValue <$> (args !? #depth :: Maybe Int),-               ("on_value",) . showValue <$> (args !? #on_value :: Maybe Double),-               ("off_value",) . showValue <$>-                 (args !? #off_value :: Maybe Double),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes-              [("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "one_hot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--one_hot_upd ::-            forall args . Fullfilled "one_hot(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "one_hot(ndarray)" args -> IO ()-one_hot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("depth",) . showValue <$> (args !? #depth :: Maybe Int),-               ("on_value",) . showValue <$> (args !? #on_value :: Maybe Double),-               ("off_value",) . showValue <$>-                 (args !? #off_value :: Maybe Double),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes-              [("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "one_hot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "gather_nd(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--gather_nd ::-          forall args . Fullfilled "gather_nd(ndarray)" args =>-            ArgsHMap "gather_nd(ndarray)" args -> IO [NDArrayHandle]-gather_nd args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--gather_nd_upd ::-              forall args . Fullfilled "gather_nd(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "gather_nd(ndarray)" args -> IO ()-gather_nd_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "scatter_nd(ndarray)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--scatter_nd ::-           forall args . Fullfilled "scatter_nd(ndarray)" args =>-             ArgsHMap "scatter_nd(ndarray)" args -> IO [NDArrayHandle]-scatter_nd args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "scatter_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--scatter_nd_upd ::-               forall args . Fullfilled "scatter_nd(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "scatter_nd(ndarray)" args -> IO ()-scatter_nd_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "scatter_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_gather_nd(ndarray)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--_backward_gather_nd ::-                    forall args . Fullfilled "_backward_gather_nd(ndarray)" args =>-                      ArgsHMap "_backward_gather_nd(ndarray)" args -> IO [NDArrayHandle]-_backward_gather_nd args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_gather_nd_upd ::-                        forall args . Fullfilled "_backward_gather_nd(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_gather_nd(ndarray)" args -> IO ()-_backward_gather_nd_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_set_nd(ndarray)" =-     '[ '("shape", AttrReq [Int]), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--_scatter_set_nd ::-                forall args . Fullfilled "_scatter_set_nd(ndarray)" args =>-                  ArgsHMap "_scatter_set_nd(ndarray)" args -> IO [NDArrayHandle]-_scatter_set_nd args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_set_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_set_nd_upd ::-                    forall args . Fullfilled "_scatter_set_nd(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_scatter_set_nd(ndarray)" args -> IO ()-_scatter_set_nd_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_set_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_equal ::-                forall args . Fullfilled "broadcast_equal(ndarray)" args =>-                  ArgsHMap "broadcast_equal(ndarray)" args -> IO [NDArrayHandle]-broadcast_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_equal_upd ::-                    forall args . Fullfilled "broadcast_equal(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "broadcast_equal(ndarray)" args -> IO ()-broadcast_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_not_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_not_equal ::-                    forall args . Fullfilled "broadcast_not_equal(ndarray)" args =>-                      ArgsHMap "broadcast_not_equal(ndarray)" args -> IO [NDArrayHandle]-broadcast_not_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_not_equal_upd ::-                        forall args . Fullfilled "broadcast_not_equal(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "broadcast_not_equal(ndarray)" args -> IO ()-broadcast_not_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_greater(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_greater ::-                  forall args . Fullfilled "broadcast_greater(ndarray)" args =>-                    ArgsHMap "broadcast_greater(ndarray)" args -> IO [NDArrayHandle]-broadcast_greater args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_greater_upd ::-                      forall args . Fullfilled "broadcast_greater(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "broadcast_greater(ndarray)" args -> IO ()-broadcast_greater_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_greater_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_greater_equal ::-                        forall args . Fullfilled "broadcast_greater_equal(ndarray)" args =>-                          ArgsHMap "broadcast_greater_equal(ndarray)" args ->-                            IO [NDArrayHandle]-broadcast_greater_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_greater_equal_upd ::-                            forall args . Fullfilled "broadcast_greater_equal(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "broadcast_greater_equal(ndarray)" args -> IO ()-broadcast_greater_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_lesser(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_lesser ::-                 forall args . Fullfilled "broadcast_lesser(ndarray)" args =>-                   ArgsHMap "broadcast_lesser(ndarray)" args -> IO [NDArrayHandle]-broadcast_lesser args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_lesser_upd ::-                     forall args . Fullfilled "broadcast_lesser(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "broadcast_lesser(ndarray)" args -> IO ()-broadcast_lesser_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_lesser_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_lesser_equal ::-                       forall args . Fullfilled "broadcast_lesser_equal(ndarray)" args =>-                         ArgsHMap "broadcast_lesser_equal(ndarray)" args ->-                           IO [NDArrayHandle]-broadcast_lesser_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_lesser_equal_upd ::-                           forall args . Fullfilled "broadcast_lesser_equal(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "broadcast_lesser_equal(ndarray)" args -> IO ()-broadcast_lesser_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_logical_and(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_logical_and ::-                      forall args . Fullfilled "broadcast_logical_and(ndarray)" args =>-                        ArgsHMap "broadcast_logical_and(ndarray)" args ->-                          IO [NDArrayHandle]-broadcast_logical_and args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_and"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_logical_and_upd ::-                          forall args . Fullfilled "broadcast_logical_and(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "broadcast_logical_and(ndarray)" args -> IO ()-broadcast_logical_and_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_and"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_logical_or(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_logical_or ::-                     forall args . Fullfilled "broadcast_logical_or(ndarray)" args =>-                       ArgsHMap "broadcast_logical_or(ndarray)" args -> IO [NDArrayHandle]-broadcast_logical_or args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_or"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_logical_or_upd ::-                         forall args . Fullfilled "broadcast_logical_or(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "broadcast_logical_or(ndarray)" args -> IO ()-broadcast_logical_or_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_or"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_logical_xor(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_logical_xor ::-                      forall args . Fullfilled "broadcast_logical_xor(ndarray)" args =>-                        ArgsHMap "broadcast_logical_xor(ndarray)" args ->-                          IO [NDArrayHandle]-broadcast_logical_xor args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_xor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_logical_xor_upd ::-                          forall args . Fullfilled "broadcast_logical_xor(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "broadcast_logical_xor(ndarray)" args -> IO ()-broadcast_logical_xor_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_xor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_plus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_plus_scalar ::-             forall args . Fullfilled "_plus_scalar(ndarray)" args =>-               ArgsHMap "_plus_scalar(ndarray)" args -> IO [NDArrayHandle]-_plus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_plus_scalar_upd ::-                 forall args . Fullfilled "_plus_scalar(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_plus_scalar(ndarray)" args -> IO ()-_plus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_minus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_minus_scalar ::-              forall args . Fullfilled "_minus_scalar(ndarray)" args =>-                ArgsHMap "_minus_scalar(ndarray)" args -> IO [NDArrayHandle]-_minus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_minus_scalar_upd ::-                  forall args . Fullfilled "_minus_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_minus_scalar(ndarray)" args -> IO ()-_minus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rminus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rminus_scalar ::-               forall args . Fullfilled "_rminus_scalar(ndarray)" args =>-                 ArgsHMap "_rminus_scalar(ndarray)" args -> IO [NDArrayHandle]-_rminus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rminus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rminus_scalar_upd ::-                   forall args . Fullfilled "_rminus_scalar(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_rminus_scalar(ndarray)" args -> IO ()-_rminus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rminus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_mul_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_mul_scalar ::-            forall args . Fullfilled "_mul_scalar(ndarray)" args =>-              ArgsHMap "_mul_scalar(ndarray)" args -> IO [NDArrayHandle]-_mul_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_mul_scalar_upd ::-                forall args . Fullfilled "_mul_scalar(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_mul_scalar(ndarray)" args -> IO ()-_mul_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mul_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_backward_mul_scalar ::-                     forall args . Fullfilled "_backward_mul_scalar(ndarray)" args =>-                       ArgsHMap "_backward_mul_scalar(ndarray)" args -> IO [NDArrayHandle]-_backward_mul_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mul_scalar_upd ::-                         forall args . Fullfilled "_backward_mul_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_mul_scalar(ndarray)" args -> IO ()-_backward_mul_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_div_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_div_scalar ::-            forall args . Fullfilled "_div_scalar(ndarray)" args =>-              ArgsHMap "_div_scalar(ndarray)" args -> IO [NDArrayHandle]-_div_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_div_scalar_upd ::-                forall args . Fullfilled "_div_scalar(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_div_scalar(ndarray)" args -> IO ()-_div_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_div_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_backward_div_scalar ::-                     forall args . Fullfilled "_backward_div_scalar(ndarray)" args =>-                       ArgsHMap "_backward_div_scalar(ndarray)" args -> IO [NDArrayHandle]-_backward_div_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_div_scalar_upd ::-                         forall args . Fullfilled "_backward_div_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_div_scalar(ndarray)" args -> IO ()-_backward_div_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rdiv_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rdiv_scalar ::-             forall args . Fullfilled "_rdiv_scalar(ndarray)" args =>-               ArgsHMap "_rdiv_scalar(ndarray)" args -> IO [NDArrayHandle]-_rdiv_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rdiv_scalar_upd ::-                 forall args . Fullfilled "_rdiv_scalar(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_rdiv_scalar(ndarray)" args -> IO ()-_rdiv_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rdiv_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rdiv_scalar ::-                      forall args . Fullfilled "_backward_rdiv_scalar(ndarray)" args =>-                        ArgsHMap "_backward_rdiv_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_rdiv_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rdiv_scalar_upd ::-                          forall args . Fullfilled "_backward_rdiv_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_rdiv_scalar(ndarray)" args -> IO ()-_backward_rdiv_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_mod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_mod_scalar ::-            forall args . Fullfilled "_mod_scalar(ndarray)" args =>-              ArgsHMap "_mod_scalar(ndarray)" args -> IO [NDArrayHandle]-_mod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_mod_scalar_upd ::-                forall args . Fullfilled "_mod_scalar(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_mod_scalar(ndarray)" args -> IO ()-_mod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_mod_scalar ::-                     forall args . Fullfilled "_backward_mod_scalar(ndarray)" args =>-                       ArgsHMap "_backward_mod_scalar(ndarray)" args -> IO [NDArrayHandle]-_backward_mod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mod_scalar_upd ::-                         forall args . Fullfilled "_backward_mod_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_mod_scalar(ndarray)" args -> IO ()-_backward_mod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rmod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rmod_scalar ::-             forall args . Fullfilled "_rmod_scalar(ndarray)" args =>-               ArgsHMap "_rmod_scalar(ndarray)" args -> IO [NDArrayHandle]-_rmod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rmod_scalar_upd ::-                 forall args . Fullfilled "_rmod_scalar(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_rmod_scalar(ndarray)" args -> IO ()-_rmod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rmod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rmod_scalar ::-                      forall args . Fullfilled "_backward_rmod_scalar(ndarray)" args =>-                        ArgsHMap "_backward_rmod_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_rmod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rmod_scalar_upd ::-                          forall args . Fullfilled "_backward_rmod_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_rmod_scalar(ndarray)" args -> IO ()-_backward_rmod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_ravel_multi_index(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--_ravel_multi_index ::-                   forall args . Fullfilled "_ravel_multi_index(ndarray)" args =>-                     ArgsHMap "_ravel_multi_index(ndarray)" args -> IO [NDArrayHandle]-_ravel_multi_index args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ravel_multi_index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_ravel_multi_index_upd ::-                       forall args . Fullfilled "_ravel_multi_index(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_ravel_multi_index(ndarray)" args -> IO ()-_ravel_multi_index_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ravel_multi_index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_unravel_index(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--_unravel_index ::-               forall args . Fullfilled "_unravel_index(ndarray)" args =>-                 ArgsHMap "_unravel_index(ndarray)" args -> IO [NDArrayHandle]-_unravel_index args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_unravel_index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_unravel_index_upd ::-                   forall args . Fullfilled "_unravel_index(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_unravel_index(ndarray)" args -> IO ()-_unravel_index_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_unravel_index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argmax(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--argmax ::-       forall args . Fullfilled "argmax(ndarray)" args =>-         ArgsHMap "argmax(ndarray)" args -> IO [NDArrayHandle]-argmax args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argmax_upd ::-           forall args . Fullfilled "argmax(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "argmax(ndarray)" args -> IO ()-argmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argmin(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--argmin ::-       forall args . Fullfilled "argmin(ndarray)" args =>-         ArgsHMap "argmin(ndarray)" args -> IO [NDArrayHandle]-argmin args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argmin_upd ::-           forall args . Fullfilled "argmin(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "argmin(ndarray)" args -> IO ()-argmin_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argmax_channel(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--argmax_channel ::-               forall args . Fullfilled "argmax_channel(ndarray)" args =>-                 ArgsHMap "argmax_channel(ndarray)" args -> IO [NDArrayHandle]-argmax_channel args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax_channel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argmax_channel_upd ::-                   forall args . Fullfilled "argmax_channel(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "argmax_channel(ndarray)" args -> IO ()-argmax_channel_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax_channel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "pick(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("mode", AttrOpt (EnumType '["clip", "wrap"])),-        '("data", AttrOpt NDArrayHandle),-        '("index", AttrOpt NDArrayHandle)]--pick ::-     forall args . Fullfilled "pick(ndarray)" args =>-       ArgsHMap "pick(ndarray)" args -> IO [NDArrayHandle]-pick args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "wrap"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("index",) <$> (args !? #index :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--pick_upd ::-         forall args . Fullfilled "pick(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "pick(ndarray)" args -> IO ()-pick_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "wrap"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("index",) <$> (args !? #index :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_pick(ndarray)" = '[]--_backward_pick ::-               forall args . Fullfilled "_backward_pick(ndarray)" args =>-                 ArgsHMap "_backward_pick(ndarray)" args -> IO [NDArrayHandle]-_backward_pick args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_pick_upd ::-                   forall args . Fullfilled "_backward_pick(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_pick(ndarray)" args -> IO ()-_backward_pick_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sparse_retain(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--_sparse_retain ::-               forall args . Fullfilled "_sparse_retain(ndarray)" args =>-                 ArgsHMap "_sparse_retain(ndarray)" args -> IO [NDArrayHandle]-_sparse_retain args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sparse_retain_upd ::-                   forall args . Fullfilled "_sparse_retain(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_sparse_retain(ndarray)" args -> IO ()-_sparse_retain_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sparse_retain(ndarray)" =-     '[]--_backward_sparse_retain ::-                        forall args . Fullfilled "_backward_sparse_retain(ndarray)" args =>-                          ArgsHMap "_backward_sparse_retain(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_sparse_retain args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sparse_retain_upd ::-                            forall args . Fullfilled "_backward_sparse_retain(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_sparse_retain(ndarray)" args -> IO ()-_backward_sparse_retain_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_where(ndarray)" =-     '[ '("condition", AttrOpt NDArrayHandle),-        '("x", AttrOpt NDArrayHandle), '("y", AttrOpt NDArrayHandle)]--_where ::-       forall args . Fullfilled "_where(ndarray)" args =>-         ArgsHMap "_where(ndarray)" args -> IO [NDArrayHandle]-_where args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("condition",) <$> (args !? #condition :: Maybe NDArrayHandle),-               ("x",) <$> (args !? #x :: Maybe NDArrayHandle),-               ("y",) <$> (args !? #y :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_where_upd ::-           forall args . Fullfilled "_where(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_where(ndarray)" args -> IO ()-_where_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("condition",) <$> (args !? #condition :: Maybe NDArrayHandle),-               ("x",) <$> (args !? #x :: Maybe NDArrayHandle),-               ("y",) <$> (args !? #y :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_where(ndarray)" = '[]--_backward_where ::-                forall args . Fullfilled "_backward_where(ndarray)" args =>-                  ArgsHMap "_backward_where(ndarray)" args -> IO [NDArrayHandle]-_backward_where args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_where_upd ::-                    forall args . Fullfilled "_backward_where(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_where(ndarray)" args -> IO ()-_backward_where_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "diag(ndarray)" =-     '[ '("k", AttrOpt Int), '("axis1", AttrOpt Int),-        '("axis2", AttrOpt Int), '("data", AttrOpt NDArrayHandle)]--diag ::-     forall args . Fullfilled "diag(ndarray)" args =>-       ArgsHMap "diag(ndarray)" args -> IO [NDArrayHandle]-diag args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("axis1",) . showValue <$> (args !? #axis1 :: Maybe Int),-               ("axis2",) . showValue <$> (args !? #axis2 :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "diag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--diag_upd ::-         forall args . Fullfilled "diag(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "diag(ndarray)" args -> IO ()-diag_upd outputs args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("axis1",) . showValue <$> (args !? #axis1 :: Maybe Int),-               ("axis2",) . showValue <$> (args !? #axis2 :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "diag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_diag(ndarray)" = '[]--_backward_diag ::-               forall args . Fullfilled "_backward_diag(ndarray)" args =>-                 ArgsHMap "_backward_diag(ndarray)" args -> IO [NDArrayHandle]-_backward_diag args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_diag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_diag_upd ::-                   forall args . Fullfilled "_backward_diag(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_diag(ndarray)" args -> IO ()-_backward_diag_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_diag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_maximum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_maximum_scalar ::-                forall args . Fullfilled "_maximum_scalar(ndarray)" args =>-                  ArgsHMap "_maximum_scalar(ndarray)" args -> IO [NDArrayHandle]-_maximum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_maximum_scalar_upd ::-                    forall args . Fullfilled "_maximum_scalar(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_maximum_scalar(ndarray)" args -> IO ()-_maximum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_maximum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_maximum_scalar ::-                         forall args .-                           Fullfilled "_backward_maximum_scalar(ndarray)" args =>-                           ArgsHMap "_backward_maximum_scalar(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_maximum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_maximum_scalar_upd ::-                             forall args .-                               Fullfilled "_backward_maximum_scalar(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_maximum_scalar(ndarray)" args -> IO ()-_backward_maximum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_minimum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_minimum_scalar ::-                forall args . Fullfilled "_minimum_scalar(ndarray)" args =>-                  ArgsHMap "_minimum_scalar(ndarray)" args -> IO [NDArrayHandle]-_minimum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_minimum_scalar_upd ::-                    forall args . Fullfilled "_minimum_scalar(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_minimum_scalar(ndarray)" args -> IO ()-_minimum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_minimum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_minimum_scalar ::-                         forall args .-                           Fullfilled "_backward_minimum_scalar(ndarray)" args =>-                           ArgsHMap "_backward_minimum_scalar(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_minimum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_minimum_scalar_upd ::-                             forall args .-                               Fullfilled "_backward_minimum_scalar(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_minimum_scalar(ndarray)" args -> IO ()-_backward_minimum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_power_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_power_scalar ::-              forall args . Fullfilled "_power_scalar(ndarray)" args =>-                ArgsHMap "_power_scalar(ndarray)" args -> IO [NDArrayHandle]-_power_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_power_scalar_upd ::-                  forall args . Fullfilled "_power_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_power_scalar(ndarray)" args -> IO ()-_power_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_power_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_power_scalar ::-                       forall args . Fullfilled "_backward_power_scalar(ndarray)" args =>-                         ArgsHMap "_backward_power_scalar(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_power_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_power_scalar_upd ::-                           forall args . Fullfilled "_backward_power_scalar(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_power_scalar(ndarray)" args -> IO ()-_backward_power_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rpower_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rpower_scalar ::-               forall args . Fullfilled "_rpower_scalar(ndarray)" args =>-                 ArgsHMap "_rpower_scalar(ndarray)" args -> IO [NDArrayHandle]-_rpower_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rpower_scalar_upd ::-                   forall args . Fullfilled "_rpower_scalar(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_rpower_scalar(ndarray)" args -> IO ()-_rpower_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rpower_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rpower_scalar ::-                        forall args . Fullfilled "_backward_rpower_scalar(ndarray)" args =>-                          ArgsHMap "_backward_rpower_scalar(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_rpower_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rpower_scalar_upd ::-                            forall args . Fullfilled "_backward_rpower_scalar(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_rpower_scalar(ndarray)" args -> IO ()-_backward_rpower_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_hypot_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_hypot_scalar ::-              forall args . Fullfilled "_hypot_scalar(ndarray)" args =>-                ArgsHMap "_hypot_scalar(ndarray)" args -> IO [NDArrayHandle]-_hypot_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_hypot_scalar_upd ::-                  forall args . Fullfilled "_hypot_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_hypot_scalar(ndarray)" args -> IO ()-_hypot_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_hypot_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_hypot_scalar ::-                       forall args . Fullfilled "_backward_hypot_scalar(ndarray)" args =>-                         ArgsHMap "_backward_hypot_scalar(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_hypot_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_hypot_scalar_upd ::-                           forall args . Fullfilled "_backward_hypot_scalar(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_hypot_scalar(ndarray)" args -> IO ()-_backward_hypot_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "smooth_l1(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--smooth_l1 ::-          forall args . Fullfilled "smooth_l1(ndarray)" args =>-            ArgsHMap "smooth_l1(ndarray)" args -> IO [NDArrayHandle]-smooth_l1 args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--smooth_l1_upd ::-              forall args . Fullfilled "smooth_l1(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "smooth_l1(ndarray)" args -> IO ()-smooth_l1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_smooth_l1(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_smooth_l1 ::-                    forall args . Fullfilled "_backward_smooth_l1(ndarray)" args =>-                      ArgsHMap "_backward_smooth_l1(ndarray)" args -> IO [NDArrayHandle]-_backward_smooth_l1 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_smooth_l1_upd ::-                        forall args . Fullfilled "_backward_smooth_l1(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_smooth_l1(ndarray)" args -> IO ()-_backward_smooth_l1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "topk(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("k", AttrOpt Int),-        '("ret_typ",-          AttrOpt (EnumType '["both", "indices", "mask", "value"])),-        '("is_ascend", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--topk ::-     forall args . Fullfilled "topk(ndarray)" args =>-       ArgsHMap "topk(ndarray)" args -> IO [NDArrayHandle]-topk args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ret_typ",) . showValue <$>-                 (args !? #ret_typ ::-                    Maybe (EnumType '["both", "indices", "mask", "value"])),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--topk_upd ::-         forall args . Fullfilled "topk(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "topk(ndarray)" args -> IO ()-topk_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ret_typ",) . showValue <$>-                 (args !? #ret_typ ::-                    Maybe (EnumType '["both", "indices", "mask", "value"])),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_topk(ndarray)" = '[]--_backward_topk ::-               forall args . Fullfilled "_backward_topk(ndarray)" args =>-                 ArgsHMap "_backward_topk(ndarray)" args -> IO [NDArrayHandle]-_backward_topk args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_topk_upd ::-                   forall args . Fullfilled "_backward_topk(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_topk(ndarray)" args -> IO ()-_backward_topk_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sort(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--sort ::-     forall args . Fullfilled "sort(ndarray)" args =>-       ArgsHMap "sort(ndarray)" args -> IO [NDArrayHandle]-sort args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sort_upd ::-         forall args . Fullfilled "sort(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sort(ndarray)" args -> IO ()-sort_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argsort(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--argsort ::-        forall args . Fullfilled "argsort(ndarray)" args =>-          ArgsHMap "argsort(ndarray)" args -> IO [NDArrayHandle]-argsort args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argsort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argsort_upd ::-            forall args . Fullfilled "argsort(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "argsort(ndarray)" args -> IO ()-argsort_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argsort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Reshape(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("reverse", AttrOpt Bool),-        '("target_shape", AttrOpt [Int]), '("keep_highest", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--_Reshape ::-         forall args . Fullfilled "_Reshape(ndarray)" args =>-           ArgsHMap "_Reshape(ndarray)" args -> IO [NDArrayHandle]-_Reshape args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("keep_highest",) . showValue <$>-                 (args !? #keep_highest :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Reshape"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Reshape_upd ::-             forall args . Fullfilled "_Reshape(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Reshape(ndarray)" args -> IO ()-_Reshape_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("keep_highest",) . showValue <$>-                 (args !? #keep_highest :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Reshape"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Flatten(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_Flatten ::-         forall args . Fullfilled "_Flatten(ndarray)" args =>-           ArgsHMap "_Flatten(ndarray)" args -> IO [NDArrayHandle]-_Flatten args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Flatten_upd ::-             forall args . Fullfilled "_Flatten(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Flatten(ndarray)" args -> IO ()-_Flatten_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "transpose(ndarray)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--transpose ::-          forall args . Fullfilled "transpose(ndarray)" args =>-            ArgsHMap "transpose(ndarray)" args -> IO [NDArrayHandle]-transpose args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "transpose"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--transpose_upd ::-              forall args . Fullfilled "transpose(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "transpose(ndarray)" args -> IO ()-transpose_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "transpose"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "expand_dims(ndarray)" =-     '[ '("axis", AttrReq Int), '("data", AttrOpt NDArrayHandle)]--expand_dims ::-            forall args . Fullfilled "expand_dims(ndarray)" args =>-              ArgsHMap "expand_dims(ndarray)" args -> IO [NDArrayHandle]-expand_dims args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expand_dims"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--expand_dims_upd ::-                forall args . Fullfilled "expand_dims(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "expand_dims(ndarray)" args -> IO ()-expand_dims_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expand_dims"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "slice(ndarray)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--slice ::-      forall args . Fullfilled "slice(ndarray)" args =>-        ArgsHMap "slice(ndarray)" args -> IO [NDArrayHandle]-slice args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--slice_upd ::-          forall args . Fullfilled "slice(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "slice(ndarray)" args -> IO ()-slice_upd outputs args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_slice(ndarray)" = '[]--_backward_slice ::-                forall args . Fullfilled "_backward_slice(ndarray)" args =>-                  ArgsHMap "_backward_slice(ndarray)" args -> IO [NDArrayHandle]-_backward_slice args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_slice_upd ::-                    forall args . Fullfilled "_backward_slice(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_slice(ndarray)" args -> IO ()-_backward_slice_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_slice_assign(ndarray)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_slice_assign ::-              forall args . Fullfilled "_slice_assign(ndarray)" args =>-                ArgsHMap "_slice_assign(ndarray)" args -> IO [NDArrayHandle]-_slice_assign args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_slice_assign_upd ::-                  forall args . Fullfilled "_slice_assign(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_slice_assign(ndarray)" args -> IO ()-_slice_assign_upd outputs args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_slice_assign_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Double), '("begin", AttrReq [Int]),-        '("end", AttrReq [Int]), '("step", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--_slice_assign_scalar ::-                     forall args . Fullfilled "_slice_assign_scalar(ndarray)" args =>-                       ArgsHMap "_slice_assign_scalar(ndarray)" args -> IO [NDArrayHandle]-_slice_assign_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Double),-               ("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_slice_assign_scalar_upd ::-                         forall args . Fullfilled "_slice_assign_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_slice_assign_scalar(ndarray)" args -> IO ()-_slice_assign_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Double),-               ("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "slice_axis(ndarray)" =-     '[ '("axis", AttrReq Int), '("begin", AttrReq Int),-        '("end", AttrReq (Maybe Int)), '("data", AttrOpt NDArrayHandle)]--slice_axis ::-           forall args . Fullfilled "slice_axis(ndarray)" args =>-             ArgsHMap "slice_axis(ndarray)" args -> IO [NDArrayHandle]-slice_axis args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("begin",) . showValue <$> (args !? #begin :: Maybe Int),-               ("end",) . showValue <$> (args !? #end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--slice_axis_upd ::-               forall args . Fullfilled "slice_axis(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "slice_axis(ndarray)" args -> IO ()-slice_axis_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("begin",) . showValue <$> (args !? #begin :: Maybe Int),-               ("end",) . showValue <$> (args !? #end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_slice_axis(ndarray)" = '[]--_backward_slice_axis ::-                     forall args . Fullfilled "_backward_slice_axis(ndarray)" args =>-                       ArgsHMap "_backward_slice_axis(ndarray)" args -> IO [NDArrayHandle]-_backward_slice_axis args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_slice_axis_upd ::-                         forall args . Fullfilled "_backward_slice_axis(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_slice_axis(ndarray)" args -> IO ()-_backward_slice_axis_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "slice_like(ndarray)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle),-        '("shape_like", AttrOpt NDArrayHandle)]--slice_like ::-           forall args . Fullfilled "slice_like(ndarray)" args =>-             ArgsHMap "slice_like(ndarray)" args -> IO [NDArrayHandle]-slice_like args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("shape_like",) <$> (args !? #shape_like :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--slice_like_upd ::-               forall args . Fullfilled "slice_like(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "slice_like(ndarray)" args -> IO ()-slice_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("shape_like",) <$> (args !? #shape_like :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_slice_like(ndarray)" = '[]--_backward_slice_like ::-                     forall args . Fullfilled "_backward_slice_like(ndarray)" args =>-                       ArgsHMap "_backward_slice_like(ndarray)" args -> IO [NDArrayHandle]-_backward_slice_like args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_slice_like_upd ::-                         forall args . Fullfilled "_backward_slice_like(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_slice_like(ndarray)" args -> IO ()-_backward_slice_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "clip(ndarray)" =-     '[ '("a_min", AttrReq Float), '("a_max", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--clip ::-     forall args . Fullfilled "clip(ndarray)" args =>-       ArgsHMap "clip(ndarray)" args -> IO [NDArrayHandle]-clip args-  = let scalarArgs-          = catMaybes-              [("a_min",) . showValue <$> (args !? #a_min :: Maybe Float),-               ("a_max",) . showValue <$> (args !? #a_max :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--clip_upd ::-         forall args . Fullfilled "clip(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "clip(ndarray)" args -> IO ()-clip_upd outputs args-  = let scalarArgs-          = catMaybes-              [("a_min",) . showValue <$> (args !? #a_min :: Maybe Float),-               ("a_max",) . showValue <$> (args !? #a_max :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_clip(ndarray)" = '[]--_backward_clip ::-               forall args . Fullfilled "_backward_clip(ndarray)" args =>-                 ArgsHMap "_backward_clip(ndarray)" args -> IO [NDArrayHandle]-_backward_clip args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_clip_upd ::-                   forall args . Fullfilled "_backward_clip(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_clip(ndarray)" args -> IO ()-_backward_clip_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "repeat(ndarray)" =-     '[ '("repeats", AttrReq Int), '("axis", AttrOpt (Maybe Int)),-        '("data", AttrOpt NDArrayHandle)]--repeat ::-       forall args . Fullfilled "repeat(ndarray)" args =>-         ArgsHMap "repeat(ndarray)" args -> IO [NDArrayHandle]-repeat args-  = let scalarArgs-          = catMaybes-              [("repeats",) . showValue <$> (args !? #repeats :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--repeat_upd ::-           forall args . Fullfilled "repeat(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "repeat(ndarray)" args -> IO ()-repeat_upd outputs args-  = let scalarArgs-          = catMaybes-              [("repeats",) . showValue <$> (args !? #repeats :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_repeat(ndarray)" = '[]--_backward_repeat ::-                 forall args . Fullfilled "_backward_repeat(ndarray)" args =>-                   ArgsHMap "_backward_repeat(ndarray)" args -> IO [NDArrayHandle]-_backward_repeat args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_repeat_upd ::-                     forall args . Fullfilled "_backward_repeat(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_repeat(ndarray)" args -> IO ()-_backward_repeat_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "tile(ndarray)" =-     '[ '("reps", AttrReq [Int]), '("data", AttrOpt NDArrayHandle)]--tile ::-     forall args . Fullfilled "tile(ndarray)" args =>-       ArgsHMap "tile(ndarray)" args -> IO [NDArrayHandle]-tile args-  = let scalarArgs-          = catMaybes-              [("reps",) . showValue <$> (args !? #reps :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--tile_upd ::-         forall args . Fullfilled "tile(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "tile(ndarray)" args -> IO ()-tile_upd outputs args-  = let scalarArgs-          = catMaybes-              [("reps",) . showValue <$> (args !? #reps :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_tile(ndarray)" = '[]--_backward_tile ::-               forall args . Fullfilled "_backward_tile(ndarray)" args =>-                 ArgsHMap "_backward_tile(ndarray)" args -> IO [NDArrayHandle]-_backward_tile args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_tile_upd ::-                   forall args . Fullfilled "_backward_tile(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_tile(ndarray)" args -> IO ()-_backward_tile_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "reverse(ndarray)" =-     '[ '("axis", AttrReq [Int]), '("data", AttrOpt NDArrayHandle)]--reverse ::-        forall args . Fullfilled "reverse(ndarray)" args =>-          ArgsHMap "reverse(ndarray)" args -> IO [NDArrayHandle]-reverse args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--reverse_upd ::-            forall args . Fullfilled "reverse(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "reverse(ndarray)" args -> IO ()-reverse_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_reverse(ndarray)" = '[]--_backward_reverse ::-                  forall args . Fullfilled "_backward_reverse(ndarray)" args =>-                    ArgsHMap "_backward_reverse(ndarray)" args -> IO [NDArrayHandle]-_backward_reverse args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_reverse_upd ::-                      forall args . Fullfilled "_backward_reverse(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_reverse(ndarray)" args -> IO ()-_backward_reverse_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "stack(ndarray)" =-     '[ '("axis", AttrOpt Int), '("num_args", AttrReq Int),-        '("data", AttrOpt [NDArrayHandle])]--stack ::-      forall args . Fullfilled "stack(ndarray)" args =>-        ArgsHMap "stack(ndarray)" args -> IO [NDArrayHandle]-stack args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "stack"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--stack_upd ::-          forall args . Fullfilled "stack(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "stack(ndarray)" args -> IO ()-stack_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "stack"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_stack(ndarray)" = '[]--_backward_stack ::-                forall args . Fullfilled "_backward_stack(ndarray)" args =>-                  ArgsHMap "_backward_stack(ndarray)" args -> IO [NDArrayHandle]-_backward_stack args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_stack"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_stack_upd ::-                    forall args . Fullfilled "_backward_stack(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_stack(ndarray)" args -> IO ()-_backward_stack_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_stack"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "squeeze(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])),-        '("data", AttrOpt [NDArrayHandle])]--squeeze ::-        forall args . Fullfilled "squeeze(ndarray)" args =>-          ArgsHMap "squeeze(ndarray)" args -> IO [NDArrayHandle]-squeeze args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "squeeze"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--squeeze_upd ::-            forall args . Fullfilled "squeeze(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "squeeze(ndarray)" args -> IO ()-squeeze_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "squeeze"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_squeeze(ndarray)" = '[]--_backward_squeeze ::-                  forall args . Fullfilled "_backward_squeeze(ndarray)" args =>-                    ArgsHMap "_backward_squeeze(ndarray)" args -> IO [NDArrayHandle]-_backward_squeeze args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_squeeze"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_squeeze_upd ::-                      forall args . Fullfilled "_backward_squeeze(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_squeeze(ndarray)" args -> IO ()-_backward_squeeze_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_squeeze"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "depth_to_space(ndarray)" =-     '[ '("block_size", AttrReq Int), '("data", AttrOpt NDArrayHandle)]--depth_to_space ::-               forall args . Fullfilled "depth_to_space(ndarray)" args =>-                 ArgsHMap "depth_to_space(ndarray)" args -> IO [NDArrayHandle]-depth_to_space args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "depth_to_space"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--depth_to_space_upd ::-                   forall args . Fullfilled "depth_to_space(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "depth_to_space(ndarray)" args -> IO ()-depth_to_space_upd outputs args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "depth_to_space"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "space_to_depth(ndarray)" =-     '[ '("block_size", AttrReq Int), '("data", AttrOpt NDArrayHandle)]--space_to_depth ::-               forall args . Fullfilled "space_to_depth(ndarray)" args =>-                 ArgsHMap "space_to_depth(ndarray)" args -> IO [NDArrayHandle]-space_to_depth args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "space_to_depth"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--space_to_depth_upd ::-                   forall args . Fullfilled "space_to_depth(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "space_to_depth(ndarray)" args -> IO ()-space_to_depth_upd outputs args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "space_to_depth"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "dot(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),-        '("lhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--dot ::-    forall args . Fullfilled "dot(ndarray)" args =>-      ArgsHMap "dot(ndarray)" args -> IO [NDArrayHandle]-dot args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--dot_upd ::-        forall args . Fullfilled "dot(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "dot(ndarray)" args -> IO ()-dot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_dot(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"])))]--_backward_dot ::-              forall args . Fullfilled "_backward_dot(ndarray)" args =>-                ArgsHMap "_backward_dot(ndarray)" args -> IO [NDArrayHandle]-_backward_dot args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_dot_upd ::-                  forall args . Fullfilled "_backward_dot(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_dot(ndarray)" args -> IO ()-_backward_dot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "batch_dot(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),-        '("lhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--batch_dot ::-          forall args . Fullfilled "batch_dot(ndarray)" args =>-            ArgsHMap "batch_dot(ndarray)" args -> IO [NDArrayHandle]-batch_dot args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--batch_dot_upd ::-              forall args . Fullfilled "batch_dot(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "batch_dot(ndarray)" args -> IO ()-batch_dot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_batch_dot(ndarray)" = '[]--_backward_batch_dot ::-                    forall args . Fullfilled "_backward_batch_dot(ndarray)" args =>-                      ArgsHMap "_backward_batch_dot(ndarray)" args -> IO [NDArrayHandle]-_backward_batch_dot args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_batch_dot_upd ::-                        forall args . Fullfilled "_backward_batch_dot(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_batch_dot(ndarray)" args -> IO ()-_backward_batch_dot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sin(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sin ::-    forall args . Fullfilled "sin(ndarray)" args =>-      ArgsHMap "sin(ndarray)" args -> IO [NDArrayHandle]-sin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sin_upd ::-        forall args . Fullfilled "sin(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "sin(ndarray)" args -> IO ()-sin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sin(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sin ::-              forall args . Fullfilled "_backward_sin(ndarray)" args =>-                ArgsHMap "_backward_sin(ndarray)" args -> IO [NDArrayHandle]-_backward_sin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sin_upd ::-                  forall args . Fullfilled "_backward_sin(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_sin(ndarray)" args -> IO ()-_backward_sin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cos(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--cos ::-    forall args . Fullfilled "cos(ndarray)" args =>-      ArgsHMap "cos(ndarray)" args -> IO [NDArrayHandle]-cos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cos_upd ::-        forall args . Fullfilled "cos(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "cos(ndarray)" args -> IO ()-cos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cos(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_cos ::-              forall args . Fullfilled "_backward_cos(ndarray)" args =>-                ArgsHMap "_backward_cos(ndarray)" args -> IO [NDArrayHandle]-_backward_cos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cos_upd ::-                  forall args . Fullfilled "_backward_cos(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_cos(ndarray)" args -> IO ()-_backward_cos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "tan(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--tan ::-    forall args . Fullfilled "tan(ndarray)" args =>-      ArgsHMap "tan(ndarray)" args -> IO [NDArrayHandle]-tan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--tan_upd ::-        forall args . Fullfilled "tan(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "tan(ndarray)" args -> IO ()-tan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_tan(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_tan ::-              forall args . Fullfilled "_backward_tan(ndarray)" args =>-                ArgsHMap "_backward_tan(ndarray)" args -> IO [NDArrayHandle]-_backward_tan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_tan_upd ::-                  forall args . Fullfilled "_backward_tan(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_tan(ndarray)" args -> IO ()-_backward_tan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arcsin(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arcsin ::-       forall args . Fullfilled "arcsin(ndarray)" args =>-         ArgsHMap "arcsin(ndarray)" args -> IO [NDArrayHandle]-arcsin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arcsin_upd ::-           forall args . Fullfilled "arcsin(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "arcsin(ndarray)" args -> IO ()-arcsin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arcsin(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arcsin ::-                 forall args . Fullfilled "_backward_arcsin(ndarray)" args =>-                   ArgsHMap "_backward_arcsin(ndarray)" args -> IO [NDArrayHandle]-_backward_arcsin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arcsin_upd ::-                     forall args . Fullfilled "_backward_arcsin(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_arcsin(ndarray)" args -> IO ()-_backward_arcsin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arccos(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arccos ::-       forall args . Fullfilled "arccos(ndarray)" args =>-         ArgsHMap "arccos(ndarray)" args -> IO [NDArrayHandle]-arccos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arccos_upd ::-           forall args . Fullfilled "arccos(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "arccos(ndarray)" args -> IO ()-arccos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arccos(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arccos ::-                 forall args . Fullfilled "_backward_arccos(ndarray)" args =>-                   ArgsHMap "_backward_arccos(ndarray)" args -> IO [NDArrayHandle]-_backward_arccos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arccos_upd ::-                     forall args . Fullfilled "_backward_arccos(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_arccos(ndarray)" args -> IO ()-_backward_arccos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arctan(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arctan ::-       forall args . Fullfilled "arctan(ndarray)" args =>-         ArgsHMap "arctan(ndarray)" args -> IO [NDArrayHandle]-arctan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arctan_upd ::-           forall args . Fullfilled "arctan(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "arctan(ndarray)" args -> IO ()-arctan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arctan(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arctan ::-                 forall args . Fullfilled "_backward_arctan(ndarray)" args =>-                   ArgsHMap "_backward_arctan(ndarray)" args -> IO [NDArrayHandle]-_backward_arctan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arctan_upd ::-                     forall args . Fullfilled "_backward_arctan(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_arctan(ndarray)" args -> IO ()-_backward_arctan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "degrees(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--degrees ::-        forall args . Fullfilled "degrees(ndarray)" args =>-          ArgsHMap "degrees(ndarray)" args -> IO [NDArrayHandle]-degrees args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--degrees_upd ::-            forall args . Fullfilled "degrees(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "degrees(ndarray)" args -> IO ()-degrees_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_degrees(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_degrees ::-                  forall args . Fullfilled "_backward_degrees(ndarray)" args =>-                    ArgsHMap "_backward_degrees(ndarray)" args -> IO [NDArrayHandle]-_backward_degrees args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_degrees_upd ::-                      forall args . Fullfilled "_backward_degrees(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_degrees(ndarray)" args -> IO ()-_backward_degrees_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "radians(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--radians ::-        forall args . Fullfilled "radians(ndarray)" args =>-          ArgsHMap "radians(ndarray)" args -> IO [NDArrayHandle]-radians args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--radians_upd ::-            forall args . Fullfilled "radians(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "radians(ndarray)" args -> IO ()-radians_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_radians(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_radians ::-                  forall args . Fullfilled "_backward_radians(ndarray)" args =>-                    ArgsHMap "_backward_radians(ndarray)" args -> IO [NDArrayHandle]-_backward_radians args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_radians_upd ::-                      forall args . Fullfilled "_backward_radians(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_radians(ndarray)" args -> IO ()-_backward_radians_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sinh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sinh ::-     forall args . Fullfilled "sinh(ndarray)" args =>-       ArgsHMap "sinh(ndarray)" args -> IO [NDArrayHandle]-sinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sinh_upd ::-         forall args . Fullfilled "sinh(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sinh(ndarray)" args -> IO ()-sinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sinh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sinh ::-               forall args . Fullfilled "_backward_sinh(ndarray)" args =>-                 ArgsHMap "_backward_sinh(ndarray)" args -> IO [NDArrayHandle]-_backward_sinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sinh_upd ::-                   forall args . Fullfilled "_backward_sinh(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_sinh(ndarray)" args -> IO ()-_backward_sinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cosh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--cosh ::-     forall args . Fullfilled "cosh(ndarray)" args =>-       ArgsHMap "cosh(ndarray)" args -> IO [NDArrayHandle]-cosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cosh_upd ::-         forall args . Fullfilled "cosh(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "cosh(ndarray)" args -> IO ()-cosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cosh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_cosh ::-               forall args . Fullfilled "_backward_cosh(ndarray)" args =>-                 ArgsHMap "_backward_cosh(ndarray)" args -> IO [NDArrayHandle]-_backward_cosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cosh_upd ::-                   forall args . Fullfilled "_backward_cosh(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cosh(ndarray)" args -> IO ()-_backward_cosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "tanh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--tanh ::-     forall args . Fullfilled "tanh(ndarray)" args =>-       ArgsHMap "tanh(ndarray)" args -> IO [NDArrayHandle]-tanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--tanh_upd ::-         forall args . Fullfilled "tanh(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "tanh(ndarray)" args -> IO ()-tanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_tanh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_tanh ::-               forall args . Fullfilled "_backward_tanh(ndarray)" args =>-                 ArgsHMap "_backward_tanh(ndarray)" args -> IO [NDArrayHandle]-_backward_tanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_tanh_upd ::-                   forall args . Fullfilled "_backward_tanh(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_tanh(ndarray)" args -> IO ()-_backward_tanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arcsinh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arcsinh ::-        forall args . Fullfilled "arcsinh(ndarray)" args =>-          ArgsHMap "arcsinh(ndarray)" args -> IO [NDArrayHandle]-arcsinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arcsinh_upd ::-            forall args . Fullfilled "arcsinh(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "arcsinh(ndarray)" args -> IO ()-arcsinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arcsinh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arcsinh ::-                  forall args . Fullfilled "_backward_arcsinh(ndarray)" args =>-                    ArgsHMap "_backward_arcsinh(ndarray)" args -> IO [NDArrayHandle]-_backward_arcsinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arcsinh_upd ::-                      forall args . Fullfilled "_backward_arcsinh(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_arcsinh(ndarray)" args -> IO ()-_backward_arcsinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arccosh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arccosh ::-        forall args . Fullfilled "arccosh(ndarray)" args =>-          ArgsHMap "arccosh(ndarray)" args -> IO [NDArrayHandle]-arccosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arccosh_upd ::-            forall args . Fullfilled "arccosh(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "arccosh(ndarray)" args -> IO ()-arccosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arccosh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arccosh ::-                  forall args . Fullfilled "_backward_arccosh(ndarray)" args =>-                    ArgsHMap "_backward_arccosh(ndarray)" args -> IO [NDArrayHandle]-_backward_arccosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arccosh_upd ::-                      forall args . Fullfilled "_backward_arccosh(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_arccosh(ndarray)" args -> IO ()-_backward_arccosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arctanh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arctanh ::-        forall args . Fullfilled "arctanh(ndarray)" args =>-          ArgsHMap "arctanh(ndarray)" args -> IO [NDArrayHandle]-arctanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arctanh_upd ::-            forall args . Fullfilled "arctanh(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "arctanh(ndarray)" args -> IO ()-arctanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arctanh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arctanh ::-                  forall args . Fullfilled "_backward_arctanh(ndarray)" args =>-                    ArgsHMap "_backward_arctanh(ndarray)" args -> IO [NDArrayHandle]-_backward_arctanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arctanh_upd ::-                      forall args . Fullfilled "_backward_arctanh(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_arctanh(ndarray)" args -> IO ()-_backward_arctanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_group_adagrad_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle),-        '("history", AttrOpt NDArrayHandle)]--_contrib_group_adagrad_update ::-                              forall args .-                                Fullfilled "_contrib_group_adagrad_update(ndarray)" args =>-                                ArgsHMap "_contrib_group_adagrad_update(ndarray)" args ->-                                  IO [NDArrayHandle]-_contrib_group_adagrad_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("history",) <$> (args !? #history :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_group_adagrad_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_group_adagrad_update_upd ::-                                  forall args .-                                    Fullfilled "_contrib_group_adagrad_update(ndarray)" args =>-                                    [NDArrayHandle] ->-                                      ArgsHMap "_contrib_group_adagrad_update(ndarray)" args ->-                                        IO ()-_contrib_group_adagrad_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("history",) <$> (args !? #history :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_group_adagrad_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_getnnz(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)),-        '("data", AttrOpt NDArrayHandle)]--_contrib_getnnz ::-                forall args . Fullfilled "_contrib_getnnz(ndarray)" args =>-                  ArgsHMap "_contrib_getnnz(ndarray)" args -> IO [NDArrayHandle]-_contrib_getnnz args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_getnnz"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_getnnz_upd ::-                    forall args . Fullfilled "_contrib_getnnz(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_contrib_getnnz(ndarray)" args -> IO ()-_contrib_getnnz_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_getnnz"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_edge_id(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle), '("u", AttrOpt NDArrayHandle),-        '("v", AttrOpt NDArrayHandle)]--_contrib_edge_id ::-                 forall args . Fullfilled "_contrib_edge_id(ndarray)" args =>-                   ArgsHMap "_contrib_edge_id(ndarray)" args -> IO [NDArrayHandle]-_contrib_edge_id args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("u",) <$> (args !? #u :: Maybe NDArrayHandle),-               ("v",) <$> (args !? #v :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_edge_id"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_edge_id_upd ::-                     forall args . Fullfilled "_contrib_edge_id(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_contrib_edge_id(ndarray)" args -> IO ()-_contrib_edge_id_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("u",) <$> (args !? #u :: Maybe NDArrayHandle),-               ("v",) <$> (args !? #v :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_edge_id"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_dgl_adjacency(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_contrib_dgl_adjacency ::-                       forall args . Fullfilled "_contrib_dgl_adjacency(ndarray)" args =>-                         ArgsHMap "_contrib_dgl_adjacency(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_dgl_adjacency args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dgl_adjacency"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_dgl_adjacency_upd ::-                           forall args . Fullfilled "_contrib_dgl_adjacency(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_dgl_adjacency(ndarray)" args -> IO ()-_contrib_dgl_adjacency_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dgl_adjacency"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quadratic(ndarray)" =-     '[ '("a", AttrOpt Float), '("b", AttrOpt Float),-        '("c", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_contrib_quadratic ::-                   forall args . Fullfilled "_contrib_quadratic(ndarray)" args =>-                     ArgsHMap "_contrib_quadratic(ndarray)" args -> IO [NDArrayHandle]-_contrib_quadratic args-  = let scalarArgs-          = catMaybes-              [("a",) . showValue <$> (args !? #a :: Maybe Float),-               ("b",) . showValue <$> (args !? #b :: Maybe Float),-               ("c",) . showValue <$> (args !? #c :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quadratic"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quadratic_upd ::-                       forall args . Fullfilled "_contrib_quadratic(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_contrib_quadratic(ndarray)" args -> IO ()-_contrib_quadratic_upd outputs args-  = let scalarArgs-          = catMaybes-              [("a",) . showValue <$> (args !? #a :: Maybe Float),-               ("b",) . showValue <$> (args !? #b :: Maybe Float),-               ("c",) . showValue <$> (args !? #c :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quadratic"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_backward_quadratic(ndarray)"-     = '[]--_contrib_backward_quadratic ::-                            forall args .-                              Fullfilled "_contrib_backward_quadratic(ndarray)" args =>-                              ArgsHMap "_contrib_backward_quadratic(ndarray)" args ->-                                IO [NDArrayHandle]-_contrib_backward_quadratic args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_quadratic"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_backward_quadratic_upd ::-                                forall args .-                                  Fullfilled "_contrib_backward_quadratic(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_contrib_backward_quadratic(ndarray)" args -> IO ()-_contrib_backward_quadratic_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_quadratic"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_div_sqrt_dim(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_contrib_div_sqrt_dim ::-                      forall args . Fullfilled "_contrib_div_sqrt_dim(ndarray)" args =>-                        ArgsHMap "_contrib_div_sqrt_dim(ndarray)" args ->-                          IO [NDArrayHandle]-_contrib_div_sqrt_dim args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_div_sqrt_dim"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_div_sqrt_dim_upd ::-                          forall args . Fullfilled "_contrib_div_sqrt_dim(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_contrib_div_sqrt_dim(ndarray)" args -> IO ()-_contrib_div_sqrt_dim_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_div_sqrt_dim"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "khatri_rao(ndarray)" =-     '[ '("args", AttrOpt [NDArrayHandle])]--khatri_rao ::-           forall args . Fullfilled "khatri_rao(ndarray)" args =>-             ArgsHMap "khatri_rao(ndarray)" args -> IO [NDArrayHandle]-khatri_rao args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "khatri_rao"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--khatri_rao_upd ::-               forall args . Fullfilled "khatri_rao(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "khatri_rao(ndarray)" args -> IO ()-khatri_rao_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "khatri_rao"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_index_copy(ndarray)" =-     '[ '("old_tensor", AttrOpt NDArrayHandle),-        '("index_vector", AttrOpt NDArrayHandle),-        '("new_tensor", AttrOpt NDArrayHandle)]--_contrib_index_copy ::-                    forall args . Fullfilled "_contrib_index_copy(ndarray)" args =>-                      ArgsHMap "_contrib_index_copy(ndarray)" args -> IO [NDArrayHandle]-_contrib_index_copy args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("old_tensor",) <$> (args !? #old_tensor :: Maybe NDArrayHandle),-               ("index_vector",) <$>-                 (args !? #index_vector :: Maybe NDArrayHandle),-               ("new_tensor",) <$> (args !? #new_tensor :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_index_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_index_copy_upd ::-                        forall args . Fullfilled "_contrib_index_copy(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_contrib_index_copy(ndarray)" args -> IO ()-_contrib_index_copy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("old_tensor",) <$> (args !? #old_tensor :: Maybe NDArrayHandle),-               ("index_vector",) <$>-                 (args !? #index_vector :: Maybe NDArrayHandle),-               ("new_tensor",) <$> (args !? #new_tensor :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_index_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_backward_index_copy(ndarray)"-     = '[]--_contrib_backward_index_copy ::-                             forall args .-                               Fullfilled "_contrib_backward_index_copy(ndarray)" args =>-                               ArgsHMap "_contrib_backward_index_copy(ndarray)" args ->-                                 IO [NDArrayHandle]-_contrib_backward_index_copy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_index_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_backward_index_copy_upd ::-                                 forall args .-                                   Fullfilled "_contrib_backward_index_copy(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_contrib_backward_index_copy(ndarray)" args -> IO ()-_contrib_backward_index_copy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_index_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_ROIAlign(ndarray)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float), '("sample_ratio", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle), '("rois", AttrOpt NDArrayHandle)]--_contrib_ROIAlign ::-                  forall args . Fullfilled "_contrib_ROIAlign(ndarray)" args =>-                    ArgsHMap "_contrib_ROIAlign(ndarray)" args -> IO [NDArrayHandle]-_contrib_ROIAlign args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("sample_ratio",) . showValue <$>-                 (args !? #sample_ratio :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ROIAlign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_ROIAlign_upd ::-                      forall args . Fullfilled "_contrib_ROIAlign(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_contrib_ROIAlign(ndarray)" args -> IO ()-_contrib_ROIAlign_upd outputs args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("sample_ratio",) . showValue <$>-                 (args !? #sample_ratio :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ROIAlign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_ROIAlign(ndarray)" = '[]--_backward_ROIAlign ::-                   forall args . Fullfilled "_backward_ROIAlign(ndarray)" args =>-                     ArgsHMap "_backward_ROIAlign(ndarray)" args -> IO [NDArrayHandle]-_backward_ROIAlign args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIAlign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_ROIAlign_upd ::-                       forall args . Fullfilled "_backward_ROIAlign(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_ROIAlign(ndarray)" args -> IO ()-_backward_ROIAlign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIAlign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_box_nms(ndarray)" =-     '[ '("overlap_thresh", AttrOpt Float),-        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),-        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),-        '("id_index", AttrOpt Int), '("force_suppress", AttrOpt Bool),-        '("in_format", AttrOpt (EnumType '["center", "corner"])),-        '("out_format", AttrOpt (EnumType '["center", "corner"])),-        '("data", AttrOpt NDArrayHandle)]--_contrib_box_nms ::-                 forall args . Fullfilled "_contrib_box_nms(ndarray)" args =>-                   ArgsHMap "_contrib_box_nms(ndarray)" args -> IO [NDArrayHandle]-_contrib_box_nms args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_nms"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_box_nms_upd ::-                     forall args . Fullfilled "_contrib_box_nms(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_contrib_box_nms(ndarray)" args -> IO ()-_contrib_box_nms_upd outputs args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_nms"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_contrib_box_nms(ndarray)" =-     '[ '("overlap_thresh", AttrOpt Float),-        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),-        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),-        '("id_index", AttrOpt Int), '("force_suppress", AttrOpt Bool),-        '("in_format", AttrOpt (EnumType '["center", "corner"])),-        '("out_format", AttrOpt (EnumType '["center", "corner"]))]--_backward_contrib_box_nms ::-                          forall args .-                            Fullfilled "_backward_contrib_box_nms(ndarray)" args =>-                            ArgsHMap "_backward_contrib_box_nms(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_contrib_box_nms args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_nms"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_box_nms_upd ::-                              forall args .-                                Fullfilled "_backward_contrib_box_nms(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_contrib_box_nms(ndarray)" args -> IO ()-_backward_contrib_box_nms_upd outputs args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_nms"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_box_iou(ndarray)" =-     '[ '("format", AttrOpt (EnumType '["center", "corner"])),-        '("lhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--_contrib_box_iou ::-                 forall args . Fullfilled "_contrib_box_iou(ndarray)" args =>-                   ArgsHMap "_contrib_box_iou(ndarray)" args -> IO [NDArrayHandle]-_contrib_box_iou args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_iou"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_box_iou_upd ::-                     forall args . Fullfilled "_contrib_box_iou(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_contrib_box_iou(ndarray)" args -> IO ()-_contrib_box_iou_upd outputs args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_iou"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_contrib_box_iou(ndarray)" =-     '[ '("format", AttrOpt (EnumType '["center", "corner"]))]--_backward_contrib_box_iou ::-                          forall args .-                            Fullfilled "_backward_contrib_box_iou(ndarray)" args =>-                            ArgsHMap "_backward_contrib_box_iou(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_contrib_box_iou args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_iou"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_box_iou_upd ::-                              forall args .-                                Fullfilled "_backward_contrib_box_iou(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_contrib_box_iou(ndarray)" args -> IO ()-_backward_contrib_box_iou_upd outputs args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_iou"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_bipartite_matching(ndarray)"-     =-     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),-        '("topk", AttrOpt Int), '("data", AttrOpt NDArrayHandle)]--_contrib_bipartite_matching ::-                            forall args .-                              Fullfilled "_contrib_bipartite_matching(ndarray)" args =>-                              ArgsHMap "_contrib_bipartite_matching(ndarray)" args ->-                                IO [NDArrayHandle]-_contrib_bipartite_matching args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_bipartite_matching"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_bipartite_matching_upd ::-                                forall args .-                                  Fullfilled "_contrib_bipartite_matching(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_contrib_bipartite_matching(ndarray)" args -> IO ()-_contrib_bipartite_matching_upd outputs args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_bipartite_matching"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_contrib_bipartite_matching(ndarray)" =-     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),-        '("topk", AttrOpt Int)]--_backward_contrib_bipartite_matching ::-                                     forall args .-                                       Fullfilled "_backward_contrib_bipartite_matching(ndarray)"-                                         args =>-                                       ArgsHMap "_backward_contrib_bipartite_matching(ndarray)" args-                                         -> IO [NDArrayHandle]-_backward_contrib_bipartite_matching args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_bipartite_matching"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_bipartite_matching_upd ::-                                         forall args .-                                           Fullfilled-                                             "_backward_contrib_bipartite_matching(ndarray)" args =>-                                           [NDArrayHandle] ->-                                             ArgsHMap-                                               "_backward_contrib_bipartite_matching(ndarray)"-                                               args-                                               -> IO ()-_backward_contrib_bipartite_matching_upd outputs args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_bipartite_matching"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_BilinearResize2D(ndarray)" =-     '[ '("height", AttrReq Int), '("width", AttrReq Int),-        '("data", AttrOpt NDArrayHandle)]--_contrib_BilinearResize2D ::-                          forall args .-                            Fullfilled "_contrib_BilinearResize2D(ndarray)" args =>-                            ArgsHMap "_contrib_BilinearResize2D(ndarray)" args ->-                              IO [NDArrayHandle]-_contrib_BilinearResize2D args-  = let scalarArgs-          = catMaybes-              [("height",) . showValue <$> (args !? #height :: Maybe Int),-               ("width",) . showValue <$> (args !? #width :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_BilinearResize2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_BilinearResize2D_upd ::-                              forall args .-                                Fullfilled "_contrib_BilinearResize2D(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_contrib_BilinearResize2D(ndarray)" args -> IO ()-_contrib_BilinearResize2D_upd outputs args-  = let scalarArgs-          = catMaybes-              [("height",) . showValue <$> (args !? #height :: Maybe Int),-               ("width",) . showValue <$> (args !? #width :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_BilinearResize2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_contrib_BilinearResize2D(ndarray)" = '[]--_backward_contrib_BilinearResize2D ::-                                   forall args .-                                     Fullfilled "_backward_contrib_BilinearResize2D(ndarray)"-                                       args =>-                                     ArgsHMap "_backward_contrib_BilinearResize2D(ndarray)" args ->-                                       IO [NDArrayHandle]-_backward_contrib_BilinearResize2D args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_BilinearResize2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_BilinearResize2D_upd ::-                                       forall args .-                                         Fullfilled "_backward_contrib_BilinearResize2D(ndarray)"-                                           args =>-                                         [NDArrayHandle] ->-                                           ArgsHMap "_backward_contrib_BilinearResize2D(ndarray)"-                                             args-                                             -> IO ()-_backward_contrib_BilinearResize2D_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_BilinearResize2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_boolean_mask(ndarray)" =-     '[ '("axis", AttrOpt Int), '("data", AttrOpt NDArrayHandle),-        '("index", AttrOpt NDArrayHandle)]--_contrib_boolean_mask ::-                      forall args . Fullfilled "_contrib_boolean_mask(ndarray)" args =>-                        ArgsHMap "_contrib_boolean_mask(ndarray)" args ->-                          IO [NDArrayHandle]-_contrib_boolean_mask args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("index",) <$> (args !? #index :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_boolean_mask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_boolean_mask_upd ::-                          forall args . Fullfilled "_contrib_boolean_mask(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_contrib_boolean_mask(ndarray)" args -> IO ()-_contrib_boolean_mask_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("index",) <$> (args !? #index :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_boolean_mask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_contrib_boolean_mask(ndarray)" =-     '[ '("axis", AttrOpt Int)]--_backward_contrib_boolean_mask ::-                               forall args .-                                 Fullfilled "_backward_contrib_boolean_mask(ndarray)" args =>-                                 ArgsHMap "_backward_contrib_boolean_mask(ndarray)" args ->-                                   IO [NDArrayHandle]-_backward_contrib_boolean_mask args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_boolean_mask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_boolean_mask_upd ::-                                   forall args .-                                     Fullfilled "_backward_contrib_boolean_mask(ndarray)" args =>-                                     [NDArrayHandle] ->-                                       ArgsHMap "_backward_contrib_boolean_mask(ndarray)" args ->-                                         IO ()-_backward_contrib_boolean_mask_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_boolean_mask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_SyncBatchNorm(ndarray)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("ndev", AttrOpt Int),-        '("key", AttrOpt String), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle),-        '("moving_mean", AttrOpt NDArrayHandle),-        '("moving_var", AttrOpt NDArrayHandle)]--_contrib_SyncBatchNorm ::-                       forall args . Fullfilled "_contrib_SyncBatchNorm(ndarray)" args =>-                         ArgsHMap "_contrib_SyncBatchNorm(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_SyncBatchNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("ndev",) . showValue <$> (args !? #ndev :: Maybe Int),-               ("key",) . showValue <$> (args !? #key :: Maybe String)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SyncBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_SyncBatchNorm_upd ::-                           forall args . Fullfilled "_contrib_SyncBatchNorm(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_SyncBatchNorm(ndarray)" args -> IO ()-_contrib_SyncBatchNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("ndev",) . showValue <$> (args !? #ndev :: Maybe Int),-               ("key",) . showValue <$> (args !? #key :: Maybe String)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SyncBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_AdaptiveAvgPooling2D(ndarray)" =-     '[ '("output_size", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--_contrib_AdaptiveAvgPooling2D ::-                              forall args .-                                Fullfilled "_contrib_AdaptiveAvgPooling2D(ndarray)" args =>-                                ArgsHMap "_contrib_AdaptiveAvgPooling2D(ndarray)" args ->-                                  IO [NDArrayHandle]-_contrib_AdaptiveAvgPooling2D args-  = let scalarArgs-          = catMaybes-              [("output_size",) . showValue <$>-                 (args !? #output_size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_AdaptiveAvgPooling2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_AdaptiveAvgPooling2D_upd ::-                                  forall args .-                                    Fullfilled "_contrib_AdaptiveAvgPooling2D(ndarray)" args =>-                                    [NDArrayHandle] ->-                                      ArgsHMap "_contrib_AdaptiveAvgPooling2D(ndarray)" args ->-                                        IO ()-_contrib_AdaptiveAvgPooling2D_upd outputs args-  = let scalarArgs-          = catMaybes-              [("output_size",) . showValue <$>-                 (args !? #output_size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_AdaptiveAvgPooling2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_contrib_AdaptiveAvgPooling2D(ndarray)" =-     '[]--_backward_contrib_AdaptiveAvgPooling2D ::-                                       forall args .-                                         Fullfilled-                                           "_backward_contrib_AdaptiveAvgPooling2D(ndarray)" args =>-                                         ArgsHMap "_backward_contrib_AdaptiveAvgPooling2D(ndarray)"-                                           args-                                           -> IO [NDArrayHandle]-_backward_contrib_AdaptiveAvgPooling2D args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_AdaptiveAvgPooling2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_AdaptiveAvgPooling2D_upd ::-                                           forall args .-                                             Fullfilled-                                               "_backward_contrib_AdaptiveAvgPooling2D(ndarray)"-                                               args =>-                                             [NDArrayHandle] ->-                                               ArgsHMap-                                                 "_backward_contrib_AdaptiveAvgPooling2D(ndarray)"-                                                 args-                                                 -> IO ()-_backward_contrib_AdaptiveAvgPooling2D_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_AdaptiveAvgPooling2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_to_tensor(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_to_tensor ::-                 forall args . Fullfilled "_image_to_tensor(ndarray)" args =>-                   ArgsHMap "_image_to_tensor(ndarray)" args -> IO [NDArrayHandle]-_image_to_tensor args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_to_tensor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_to_tensor_upd ::-                     forall args . Fullfilled "_image_to_tensor(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_image_to_tensor(ndarray)" args -> IO ()-_image_to_tensor_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_to_tensor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_normalize(ndarray)" =-     '[ '("mean", AttrReq [Float]), '("std", AttrReq [Float]),-        '("data", AttrOpt NDArrayHandle)]--_image_normalize ::-                 forall args . Fullfilled "_image_normalize(ndarray)" args =>-                   ArgsHMap "_image_normalize(ndarray)" args -> IO [NDArrayHandle]-_image_normalize args-  = let scalarArgs-          = catMaybes-              [("mean",) . showValue <$> (args !? #mean :: Maybe [Float]),-               ("std",) . showValue <$> (args !? #std :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_normalize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_normalize_upd ::-                     forall args . Fullfilled "_image_normalize(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_image_normalize(ndarray)" args -> IO ()-_image_normalize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mean",) . showValue <$> (args !? #mean :: Maybe [Float]),-               ("std",) . showValue <$> (args !? #std :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_normalize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_flip_left_right(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_flip_left_right ::-                       forall args . Fullfilled "_image_flip_left_right(ndarray)" args =>-                         ArgsHMap "_image_flip_left_right(ndarray)" args ->-                           IO [NDArrayHandle]-_image_flip_left_right args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_left_right"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_flip_left_right_upd ::-                           forall args . Fullfilled "_image_flip_left_right(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_flip_left_right(ndarray)" args -> IO ()-_image_flip_left_right_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_left_right"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_image_random_flip_left_right(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_random_flip_left_right ::-                              forall args .-                                Fullfilled "_image_random_flip_left_right(ndarray)" args =>-                                ArgsHMap "_image_random_flip_left_right(ndarray)" args ->-                                  IO [NDArrayHandle]-_image_random_flip_left_right args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_left_right"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_flip_left_right_upd ::-                                  forall args .-                                    Fullfilled "_image_random_flip_left_right(ndarray)" args =>-                                    [NDArrayHandle] ->-                                      ArgsHMap "_image_random_flip_left_right(ndarray)" args ->-                                        IO ()-_image_random_flip_left_right_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_left_right"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_flip_top_bottom(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_flip_top_bottom ::-                       forall args . Fullfilled "_image_flip_top_bottom(ndarray)" args =>-                         ArgsHMap "_image_flip_top_bottom(ndarray)" args ->-                           IO [NDArrayHandle]-_image_flip_top_bottom args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_top_bottom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_flip_top_bottom_upd ::-                           forall args . Fullfilled "_image_flip_top_bottom(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_flip_top_bottom(ndarray)" args -> IO ()-_image_flip_top_bottom_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_top_bottom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_image_random_flip_top_bottom(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_random_flip_top_bottom ::-                              forall args .-                                Fullfilled "_image_random_flip_top_bottom(ndarray)" args =>-                                ArgsHMap "_image_random_flip_top_bottom(ndarray)" args ->-                                  IO [NDArrayHandle]-_image_random_flip_top_bottom args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_top_bottom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_flip_top_bottom_upd ::-                                  forall args .-                                    Fullfilled "_image_random_flip_top_bottom(ndarray)" args =>-                                    [NDArrayHandle] ->-                                      ArgsHMap "_image_random_flip_top_bottom(ndarray)" args ->-                                        IO ()-_image_random_flip_top_bottom_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_top_bottom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_brightness(ndarray)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_brightness ::-                         forall args .-                           Fullfilled "_image_random_brightness(ndarray)" args =>-                           ArgsHMap "_image_random_brightness(ndarray)" args ->-                             IO [NDArrayHandle]-_image_random_brightness args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_brightness"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_brightness_upd ::-                             forall args .-                               Fullfilled "_image_random_brightness(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_image_random_brightness(ndarray)" args -> IO ()-_image_random_brightness_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_brightness"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_contrast(ndarray)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_contrast ::-                       forall args . Fullfilled "_image_random_contrast(ndarray)" args =>-                         ArgsHMap "_image_random_contrast(ndarray)" args ->-                           IO [NDArrayHandle]-_image_random_contrast args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_contrast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_contrast_upd ::-                           forall args . Fullfilled "_image_random_contrast(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_random_contrast(ndarray)" args -> IO ()-_image_random_contrast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_contrast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_saturation(ndarray)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_saturation ::-                         forall args .-                           Fullfilled "_image_random_saturation(ndarray)" args =>-                           ArgsHMap "_image_random_saturation(ndarray)" args ->-                             IO [NDArrayHandle]-_image_random_saturation args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_saturation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_saturation_upd ::-                             forall args .-                               Fullfilled "_image_random_saturation(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_image_random_saturation(ndarray)" args -> IO ()-_image_random_saturation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_saturation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_hue(ndarray)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_hue ::-                  forall args . Fullfilled "_image_random_hue(ndarray)" args =>-                    ArgsHMap "_image_random_hue(ndarray)" args -> IO [NDArrayHandle]-_image_random_hue args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_hue"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_hue_upd ::-                      forall args . Fullfilled "_image_random_hue(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_image_random_hue(ndarray)" args -> IO ()-_image_random_hue_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_hue"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_color_jitter(ndarray)" =-     '[ '("brightness", AttrReq Float), '("contrast", AttrReq Float),-        '("saturation", AttrReq Float), '("hue", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_color_jitter ::-                           forall args .-                             Fullfilled "_image_random_color_jitter(ndarray)" args =>-                             ArgsHMap "_image_random_color_jitter(ndarray)" args ->-                               IO [NDArrayHandle]-_image_random_color_jitter args-  = let scalarArgs-          = catMaybes-              [("brightness",) . showValue <$>-                 (args !? #brightness :: Maybe Float),-               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),-               ("saturation",) . showValue <$>-                 (args !? #saturation :: Maybe Float),-               ("hue",) . showValue <$> (args !? #hue :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_color_jitter"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_color_jitter_upd ::-                               forall args .-                                 Fullfilled "_image_random_color_jitter(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_image_random_color_jitter(ndarray)" args -> IO ()-_image_random_color_jitter_upd outputs args-  = let scalarArgs-          = catMaybes-              [("brightness",) . showValue <$>-                 (args !? #brightness :: Maybe Float),-               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),-               ("saturation",) . showValue <$>-                 (args !? #saturation :: Maybe Float),-               ("hue",) . showValue <$> (args !? #hue :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_color_jitter"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_adjust_lighting(ndarray)" =-     '[ '("alpha", AttrReq [Float]), '("data", AttrOpt NDArrayHandle)]--_image_adjust_lighting ::-                       forall args . Fullfilled "_image_adjust_lighting(ndarray)" args =>-                         ArgsHMap "_image_adjust_lighting(ndarray)" args ->-                           IO [NDArrayHandle]-_image_adjust_lighting args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_adjust_lighting"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_adjust_lighting_upd ::-                           forall args . Fullfilled "_image_adjust_lighting(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_adjust_lighting(ndarray)" args -> IO ()-_image_adjust_lighting_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_adjust_lighting"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_lighting(ndarray)" =-     '[ '("alpha_std", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_image_random_lighting ::-                       forall args . Fullfilled "_image_random_lighting(ndarray)" args =>-                         ArgsHMap "_image_random_lighting(ndarray)" args ->-                           IO [NDArrayHandle]-_image_random_lighting args-  = let scalarArgs-          = catMaybes-              [("alpha_std",) . showValue <$>-                 (args !? #alpha_std :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_lighting"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_lighting_upd ::-                           forall args . Fullfilled "_image_random_lighting(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_random_lighting(ndarray)" args -> IO ()-_image_random_lighting_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha_std",) . showValue <$>-                 (args !? #alpha_std :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_lighting"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "softmax(ndarray)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("data", AttrOpt NDArrayHandle)]--softmax ::-        forall args . Fullfilled "softmax(ndarray)" args =>-          ArgsHMap "softmax(ndarray)" args -> IO [NDArrayHandle]-softmax args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--softmax_upd ::-            forall args . Fullfilled "softmax(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "softmax(ndarray)" args -> IO ()-softmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_softmax(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_softmax ::-                  forall args . Fullfilled "_backward_softmax(ndarray)" args =>-                    ArgsHMap "_backward_softmax(ndarray)" args -> IO [NDArrayHandle]-_backward_softmax args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_softmax_upd ::-                      forall args . Fullfilled "_backward_softmax(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_softmax(ndarray)" args -> IO ()-_backward_softmax_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "softmin(ndarray)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("data", AttrOpt NDArrayHandle)]--softmin ::-        forall args . Fullfilled "softmin(ndarray)" args =>-          ArgsHMap "softmin(ndarray)" args -> IO [NDArrayHandle]-softmin args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--softmin_upd ::-            forall args . Fullfilled "softmin(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "softmin(ndarray)" args -> IO ()-softmin_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_softmin(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_softmin ::-                  forall args . Fullfilled "_backward_softmin(ndarray)" args =>-                    ArgsHMap "_backward_softmin(ndarray)" args -> IO [NDArrayHandle]-_backward_softmin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_softmin_upd ::-                      forall args . Fullfilled "_backward_softmin(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_softmin(ndarray)" args -> IO ()-_backward_softmin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log_softmax(ndarray)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("data", AttrOpt NDArrayHandle)]--log_softmax ::-            forall args . Fullfilled "log_softmax(ndarray)" args =>-              ArgsHMap "log_softmax(ndarray)" args -> IO [NDArrayHandle]-log_softmax args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log_softmax_upd ::-                forall args . Fullfilled "log_softmax(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "log_softmax(ndarray)" args -> IO ()-log_softmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log_softmax(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log_softmax ::-                      forall args . Fullfilled "_backward_log_softmax(ndarray)" args =>-                        ArgsHMap "_backward_log_softmax(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_log_softmax args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log_softmax_upd ::-                          forall args . Fullfilled "_backward_log_softmax(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_log_softmax(ndarray)" args -> IO ()-_backward_log_softmax_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Pooling(ndarray)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),-        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("pooling_convention",-          AttrOpt (EnumType '["full", "same", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("p_value", AttrOpt (Maybe Int)),-        '("count_include_pad", AttrOpt (Maybe Bool)),-        '("data", AttrOpt NDArrayHandle)]--_Pooling ::-         forall args . Fullfilled "_Pooling(ndarray)" args =>-           ArgsHMap "_Pooling(ndarray)" args -> IO [NDArrayHandle]-_Pooling args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "same", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Pooling_upd ::-             forall args . Fullfilled "_Pooling(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Pooling(ndarray)" args -> IO ()-_Pooling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "same", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Pooling(ndarray)" = '[]--_backward_Pooling ::-                  forall args . Fullfilled "_backward_Pooling(ndarray)" args =>-                    ArgsHMap "_backward_Pooling(ndarray)" args -> IO [NDArrayHandle]-_backward_Pooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Pooling_upd ::-                      forall args . Fullfilled "_backward_Pooling(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_Pooling(ndarray)" args -> IO ()-_backward_Pooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Deconvolution(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("adj", AttrOpt [Int]), '("target_shape", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_Deconvolution ::-               forall args . Fullfilled "_Deconvolution(ndarray)" args =>-                 ArgsHMap "_Deconvolution(ndarray)" args -> IO [NDArrayHandle]-_Deconvolution args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("adj",) . showValue <$> (args !? #adj :: Maybe [Int]),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Deconvolution_upd ::-                   forall args . Fullfilled "_Deconvolution(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_Deconvolution(ndarray)" args -> IO ()-_Deconvolution_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("adj",) . showValue <$> (args !? #adj :: Maybe [Int]),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Deconvolution(ndarray)" =-     '[]--_backward_Deconvolution ::-                        forall args . Fullfilled "_backward_Deconvolution(ndarray)" args =>-                          ArgsHMap "_backward_Deconvolution(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_Deconvolution args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Deconvolution_upd ::-                            forall args . Fullfilled "_backward_Deconvolution(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_Deconvolution(ndarray)" args -> IO ()-_backward_Deconvolution_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Activation(ndarray)" =-     '[ '("act_type",-          AttrReq-            (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"])),-        '("data", AttrOpt NDArrayHandle)]--_Activation ::-            forall args . Fullfilled "_Activation(ndarray)" args =>-              ArgsHMap "_Activation(ndarray)" args -> IO [NDArrayHandle]-_Activation args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Activation_upd ::-                forall args . Fullfilled "_Activation(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_Activation(ndarray)" args -> IO ()-_Activation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Activation(ndarray)" = '[]--_backward_Activation ::-                     forall args . Fullfilled "_backward_Activation(ndarray)" args =>-                       ArgsHMap "_backward_Activation(ndarray)" args -> IO [NDArrayHandle]-_backward_Activation args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Activation_upd ::-                         forall args . Fullfilled "_backward_Activation(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_Activation(ndarray)" args -> IO ()-_backward_Activation_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_UpSampling(ndarray)" =-     '[ '("scale", AttrReq Int), '("num_filter", AttrOpt Int),-        '("sample_type", AttrReq (EnumType '["bilinear", "nearest"])),-        '("multi_input_mode", AttrOpt (EnumType '["concat", "sum"])),-        '("num_args", AttrReq Int), '("workspace", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--_UpSampling ::-            forall args . Fullfilled "_UpSampling(ndarray)" args =>-              ArgsHMap "_UpSampling(ndarray)" args -> IO [NDArrayHandle]-_UpSampling args-  = let scalarArgs-          = catMaybes-              [("scale",) . showValue <$> (args !? #scale :: Maybe Int),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("sample_type",) . showValue <$>-                 (args !? #sample_type ::-                    Maybe (EnumType '["bilinear", "nearest"])),-               ("multi_input_mode",) . showValue <$>-                 (args !? #multi_input_mode :: Maybe (EnumType '["concat", "sum"])),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "UpSampling"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_UpSampling_upd ::-                forall args . Fullfilled "_UpSampling(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_UpSampling(ndarray)" args -> IO ()-_UpSampling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scale",) . showValue <$> (args !? #scale :: Maybe Int),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("sample_type",) . showValue <$>-                 (args !? #sample_type ::-                    Maybe (EnumType '["bilinear", "nearest"])),-               ("multi_input_mode",) . showValue <$>-                 (args !? #multi_input_mode :: Maybe (EnumType '["concat", "sum"])),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "UpSampling"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_UpSampling(ndarray)" = '[]--_backward_UpSampling ::-                     forall args . Fullfilled "_backward_UpSampling(ndarray)" args =>-                       ArgsHMap "_backward_UpSampling(ndarray)" args -> IO [NDArrayHandle]-_backward_UpSampling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_UpSampling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_UpSampling_upd ::-                         forall args . Fullfilled "_backward_UpSampling(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_UpSampling(ndarray)" args -> IO ()-_backward_UpSampling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_UpSampling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BatchNorm(ndarray)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle),-        '("moving_mean", AttrOpt NDArrayHandle),-        '("moving_var", AttrOpt NDArrayHandle)]--_BatchNorm ::-           forall args . Fullfilled "_BatchNorm(ndarray)" args =>-             ArgsHMap "_BatchNorm(ndarray)" args -> IO [NDArrayHandle]-_BatchNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BatchNorm_upd ::-               forall args . Fullfilled "_BatchNorm(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_BatchNorm(ndarray)" args -> IO ()-_BatchNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_BatchNorm(ndarray)" = '[]--_backward_BatchNorm ::-                    forall args . Fullfilled "_backward_BatchNorm(ndarray)" args =>-                      ArgsHMap "_backward_BatchNorm(ndarray)" args -> IO [NDArrayHandle]-_backward_BatchNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_BatchNorm_upd ::-                        forall args . Fullfilled "_backward_BatchNorm(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_BatchNorm(ndarray)" args -> IO ()-_backward_BatchNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CTCLoss(ndarray)" =-     '[ '("use_data_lengths", AttrOpt Bool),-        '("use_label_lengths", AttrOpt Bool),-        '("blank_label", AttrOpt (EnumType '["first", "last"])),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle),-        '("data_lengths", AttrOpt NDArrayHandle),-        '("label_lengths", AttrOpt NDArrayHandle)]--_CTCLoss ::-         forall args . Fullfilled "_CTCLoss(ndarray)" args =>-           ArgsHMap "_CTCLoss(ndarray)" args -> IO [NDArrayHandle]-_CTCLoss args-  = let scalarArgs-          = catMaybes-              [("use_data_lengths",) . showValue <$>-                 (args !? #use_data_lengths :: Maybe Bool),-               ("use_label_lengths",) . showValue <$>-                 (args !? #use_label_lengths :: Maybe Bool),-               ("blank_label",) . showValue <$>-                 (args !? #blank_label :: Maybe (EnumType '["first", "last"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("data_lengths",) <$>-                 (args !? #data_lengths :: Maybe NDArrayHandle),-               ("label_lengths",) <$>-                 (args !? #label_lengths :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CTCLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CTCLoss_upd ::-             forall args . Fullfilled "_CTCLoss(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_CTCLoss(ndarray)" args -> IO ()-_CTCLoss_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_data_lengths",) . showValue <$>-                 (args !? #use_data_lengths :: Maybe Bool),-               ("use_label_lengths",) . showValue <$>-                 (args !? #use_label_lengths :: Maybe Bool),-               ("blank_label",) . showValue <$>-                 (args !? #blank_label :: Maybe (EnumType '["first", "last"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("data_lengths",) <$>-                 (args !? #data_lengths :: Maybe NDArrayHandle),-               ("label_lengths",) <$>-                 (args !? #label_lengths :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CTCLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_ctc_loss(ndarray)" = '[]--_backward_ctc_loss ::-                   forall args . Fullfilled "_backward_ctc_loss(ndarray)" args =>-                     ArgsHMap "_backward_ctc_loss(ndarray)" args -> IO [NDArrayHandle]-_backward_ctc_loss args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ctc_loss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_ctc_loss_upd ::-                       forall args . Fullfilled "_backward_ctc_loss(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_ctc_loss(ndarray)" args -> IO ()-_backward_ctc_loss_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ctc_loss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_FullyConnected(ndarray)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_FullyConnected ::-                forall args . Fullfilled "_FullyConnected(ndarray)" args =>-                  ArgsHMap "_FullyConnected(ndarray)" args -> IO [NDArrayHandle]-_FullyConnected args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_FullyConnected_upd ::-                    forall args . Fullfilled "_FullyConnected(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_FullyConnected(ndarray)" args -> IO ()-_FullyConnected_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_FullyConnected(ndarray)" =-     '[]--_backward_FullyConnected ::-                         forall args .-                           Fullfilled "_backward_FullyConnected(ndarray)" args =>-                           ArgsHMap "_backward_FullyConnected(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_FullyConnected args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_FullyConnected_upd ::-                             forall args .-                               Fullfilled "_backward_FullyConnected(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_FullyConnected(ndarray)" args -> IO ()-_backward_FullyConnected_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Convolution(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_Convolution ::-             forall args . Fullfilled "_Convolution(ndarray)" args =>-               ArgsHMap "_Convolution(ndarray)" args -> IO [NDArrayHandle]-_Convolution args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Convolution_upd ::-                 forall args . Fullfilled "_Convolution(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_Convolution(ndarray)" args -> IO ()-_Convolution_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Convolution(ndarray)" = '[]--_backward_Convolution ::-                      forall args . Fullfilled "_backward_Convolution(ndarray)" args =>-                        ArgsHMap "_backward_Convolution(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_Convolution args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Convolution_upd ::-                          forall args . Fullfilled "_backward_Convolution(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_Convolution(ndarray)" args -> IO ()-_backward_Convolution_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LayerNorm(ndarray)" =-     '[ '("axis", AttrOpt Int), '("eps", AttrOpt Float),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_LayerNorm ::-           forall args . Fullfilled "_LayerNorm(ndarray)" args =>-             ArgsHMap "_LayerNorm(ndarray)" args -> IO [NDArrayHandle]-_LayerNorm args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LayerNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LayerNorm_upd ::-               forall args . Fullfilled "_LayerNorm(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_LayerNorm(ndarray)" args -> IO ()-_LayerNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LayerNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_LayerNorm(ndarray)" = '[]--_backward_LayerNorm ::-                    forall args . Fullfilled "_backward_LayerNorm(ndarray)" args =>-                      ArgsHMap "_backward_LayerNorm(ndarray)" args -> IO [NDArrayHandle]-_backward_LayerNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LayerNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_LayerNorm_upd ::-                        forall args . Fullfilled "_backward_LayerNorm(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_LayerNorm(ndarray)" args -> IO ()-_backward_LayerNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LayerNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Concat(ndarray)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--_Concat ::-        forall args . Fullfilled "_Concat(ndarray)" args =>-          ArgsHMap "_Concat(ndarray)" args -> IO [NDArrayHandle]-_Concat args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_Concat_upd ::-            forall args . Fullfilled "_Concat(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_Concat(ndarray)" args -> IO ()-_Concat_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Concat(ndarray)" = '[]--_backward_Concat ::-                 forall args . Fullfilled "_backward_Concat(ndarray)" args =>-                   ArgsHMap "_backward_Concat(ndarray)" args -> IO [NDArrayHandle]-_backward_Concat args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Concat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Concat_upd ::-                     forall args . Fullfilled "_backward_Concat(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_Concat(ndarray)" args -> IO ()-_backward_Concat_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Concat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rnn_param_concat(ndarray)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--_rnn_param_concat ::-                  forall args . Fullfilled "_rnn_param_concat(ndarray)" args =>-                    ArgsHMap "_rnn_param_concat(ndarray)" args -> IO [NDArrayHandle]-_rnn_param_concat args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_rnn_param_concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_rnn_param_concat_upd ::-                      forall args . Fullfilled "_rnn_param_concat(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_rnn_param_concat(ndarray)" args -> IO ()-_rnn_param_concat_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_rnn_param_concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_SoftmaxActivation(ndarray)" =-     '[ '("mode", AttrOpt (EnumType '["channel", "instance"])),-        '("data", AttrOpt NDArrayHandle)]--_SoftmaxActivation ::-                   forall args . Fullfilled "_SoftmaxActivation(ndarray)" args =>-                     ArgsHMap "_SoftmaxActivation(ndarray)" args -> IO [NDArrayHandle]-_SoftmaxActivation args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["channel", "instance"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SoftmaxActivation_upd ::-                       forall args . Fullfilled "_SoftmaxActivation(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_SoftmaxActivation(ndarray)" args -> IO ()-_SoftmaxActivation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["channel", "instance"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SoftmaxActivation(ndarray)"-     = '[]--_backward_SoftmaxActivation ::-                            forall args .-                              Fullfilled "_backward_SoftmaxActivation(ndarray)" args =>-                              ArgsHMap "_backward_SoftmaxActivation(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_SoftmaxActivation args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SoftmaxActivation_upd ::-                                forall args .-                                  Fullfilled "_backward_SoftmaxActivation(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_SoftmaxActivation(ndarray)" args -> IO ()-_backward_SoftmaxActivation_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LRN(ndarray)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("knorm", AttrOpt Float), '("nsize", AttrReq Int),-        '("data", AttrOpt NDArrayHandle)]--_LRN ::-     forall args . Fullfilled "_LRN(ndarray)" args =>-       ArgsHMap "_LRN(ndarray)" args -> IO [NDArrayHandle]-_LRN args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("knorm",) . showValue <$> (args !? #knorm :: Maybe Float),-               ("nsize",) . showValue <$> (args !? #nsize :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LRN_upd ::-         forall args . Fullfilled "_LRN(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_LRN(ndarray)" args -> IO ()-_LRN_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("knorm",) . showValue <$> (args !? #knorm :: Maybe Float),-               ("nsize",) . showValue <$> (args !? #nsize :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_LRN(ndarray)" = '[]--_backward_LRN ::-              forall args . Fullfilled "_backward_LRN(ndarray)" args =>-                ArgsHMap "_backward_LRN(ndarray)" args -> IO [NDArrayHandle]-_backward_LRN args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_LRN_upd ::-                  forall args . Fullfilled "_backward_LRN(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_LRN(ndarray)" args -> IO ()-_backward_LRN_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Dropout(ndarray)" =-     '[ '("p", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["always", "training"])),-        '("axes", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--_Dropout ::-         forall args . Fullfilled "_Dropout(ndarray)" args =>-           ArgsHMap "_Dropout(ndarray)" args -> IO [NDArrayHandle]-_Dropout args-  = let scalarArgs-          = catMaybes-              [("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["always", "training"])),-               ("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Dropout_upd ::-             forall args . Fullfilled "_Dropout(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Dropout(ndarray)" args -> IO ()-_Dropout_upd outputs args-  = let scalarArgs-          = catMaybes-              [("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["always", "training"])),-               ("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Dropout(ndarray)" = '[]--_backward_Dropout ::-                  forall args . Fullfilled "_backward_Dropout(ndarray)" args =>-                    ArgsHMap "_backward_Dropout(ndarray)" args -> IO [NDArrayHandle]-_backward_Dropout args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Dropout_upd ::-                      forall args . Fullfilled "_backward_Dropout(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_Dropout(ndarray)" args -> IO ()-_backward_Dropout_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_dequantize(ndarray)" =-     '[ '("out_type", AttrOpt (EnumType '["float32"])),-        '("data", AttrOpt NDArrayHandle),-        '("min_range", AttrOpt NDArrayHandle),-        '("max_range", AttrOpt NDArrayHandle)]--_contrib_dequantize ::-                    forall args . Fullfilled "_contrib_dequantize(ndarray)" args =>-                      ArgsHMap "_contrib_dequantize(ndarray)" args -> IO [NDArrayHandle]-_contrib_dequantize args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["float32"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dequantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_dequantize_upd ::-                        forall args . Fullfilled "_contrib_dequantize(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_contrib_dequantize(ndarray)" args -> IO ()-_contrib_dequantize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["float32"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dequantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantized_flatten(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("min_data", AttrOpt NDArrayHandle),-        '("max_data", AttrOpt NDArrayHandle)]--_contrib_quantized_flatten ::-                           forall args .-                             Fullfilled "_contrib_quantized_flatten(ndarray)" args =>-                             ArgsHMap "_contrib_quantized_flatten(ndarray)" args ->-                               IO [NDArrayHandle]-_contrib_quantized_flatten args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_flatten_upd ::-                               forall args .-                                 Fullfilled "_contrib_quantized_flatten(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_contrib_quantized_flatten(ndarray)" args -> IO ()-_contrib_quantized_flatten_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantized_conv(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle),-        '("min_data", AttrOpt NDArrayHandle),-        '("max_data", AttrOpt NDArrayHandle),-        '("min_weight", AttrOpt NDArrayHandle),-        '("max_weight", AttrOpt NDArrayHandle),-        '("min_bias", AttrOpt NDArrayHandle),-        '("max_bias", AttrOpt NDArrayHandle)]--_contrib_quantized_conv ::-                        forall args . Fullfilled "_contrib_quantized_conv(ndarray)" args =>-                          ArgsHMap "_contrib_quantized_conv(ndarray)" args ->-                            IO [NDArrayHandle]-_contrib_quantized_conv args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe NDArrayHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe NDArrayHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe NDArrayHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_conv"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_conv_upd ::-                            forall args . Fullfilled "_contrib_quantized_conv(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_contrib_quantized_conv(ndarray)" args -> IO ()-_contrib_quantized_conv_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe NDArrayHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe NDArrayHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe NDArrayHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_conv"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_quantized_fully_connected(ndarray)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle),-        '("min_data", AttrOpt NDArrayHandle),-        '("max_data", AttrOpt NDArrayHandle),-        '("min_weight", AttrOpt NDArrayHandle),-        '("max_weight", AttrOpt NDArrayHandle),-        '("min_bias", AttrOpt NDArrayHandle),-        '("max_bias", AttrOpt NDArrayHandle)]--_contrib_quantized_fully_connected ::-                                   forall args .-                                     Fullfilled "_contrib_quantized_fully_connected(ndarray)"-                                       args =>-                                     ArgsHMap "_contrib_quantized_fully_connected(ndarray)" args ->-                                       IO [NDArrayHandle]-_contrib_quantized_fully_connected args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe NDArrayHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe NDArrayHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe NDArrayHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_fully_connected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_fully_connected_upd ::-                                       forall args .-                                         Fullfilled "_contrib_quantized_fully_connected(ndarray)"-                                           args =>-                                         [NDArrayHandle] ->-                                           ArgsHMap "_contrib_quantized_fully_connected(ndarray)"-                                             args-                                             -> IO ()-_contrib_quantized_fully_connected_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe NDArrayHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe NDArrayHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe NDArrayHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_fully_connected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantized_pooling(ndarray)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),-        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("pooling_convention",-          AttrOpt (EnumType '["full", "same", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("p_value", AttrOpt (Maybe Int)),-        '("count_include_pad", AttrOpt (Maybe Bool)),-        '("data", AttrOpt NDArrayHandle),-        '("min_data", AttrOpt NDArrayHandle),-        '("max_data", AttrOpt NDArrayHandle)]--_contrib_quantized_pooling ::-                           forall args .-                             Fullfilled "_contrib_quantized_pooling(ndarray)" args =>-                             ArgsHMap "_contrib_quantized_pooling(ndarray)" args ->-                               IO [NDArrayHandle]-_contrib_quantized_pooling args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "same", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_pooling_upd ::-                               forall args .-                                 Fullfilled "_contrib_quantized_pooling(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_contrib_quantized_pooling(ndarray)" args -> IO ()-_contrib_quantized_pooling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "same", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantized_concat(ndarray)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--_contrib_quantized_concat ::-                          forall args .-                            Fullfilled "_contrib_quantized_concat(ndarray)" args =>-                            ArgsHMap "_contrib_quantized_concat(ndarray)" args ->-                              IO [NDArrayHandle]-_contrib_quantized_concat args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_contrib_quantized_concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_contrib_quantized_concat_upd ::-                              forall args .-                                Fullfilled "_contrib_quantized_concat(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_contrib_quantized_concat(ndarray)" args -> IO ()-_contrib_quantized_concat_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_contrib_quantized_concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_requantize(ndarray)" =-     '[ '("min_calib_range", AttrOpt (Maybe Float)),-        '("max_calib_range", AttrOpt (Maybe Float)),-        '("data", AttrOpt NDArrayHandle),-        '("min_range", AttrOpt NDArrayHandle),-        '("max_range", AttrOpt NDArrayHandle)]--_contrib_requantize ::-                    forall args . Fullfilled "_contrib_requantize(ndarray)" args =>-                      ArgsHMap "_contrib_requantize(ndarray)" args -> IO [NDArrayHandle]-_contrib_requantize args-  = let scalarArgs-          = catMaybes-              [("min_calib_range",) . showValue <$>-                 (args !? #min_calib_range :: Maybe (Maybe Float)),-               ("max_calib_range",) . showValue <$>-                 (args !? #max_calib_range :: Maybe (Maybe Float))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_requantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_requantize_upd ::-                        forall args . Fullfilled "_contrib_requantize(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_contrib_requantize(ndarray)" args -> IO ()-_contrib_requantize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_calib_range",) . showValue <$>-                 (args !? #min_calib_range :: Maybe (Maybe Float)),-               ("max_calib_range",) . showValue <$>-                 (args !? #max_calib_range :: Maybe (Maybe Float))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_requantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantize(ndarray)" =-     '[ '("out_type", AttrOpt (EnumType '["int8", "uint8"])),-        '("data", AttrOpt NDArrayHandle),-        '("min_range", AttrOpt NDArrayHandle),-        '("max_range", AttrOpt NDArrayHandle)]--_contrib_quantize ::-                  forall args . Fullfilled "_contrib_quantize(ndarray)" args =>-                    ArgsHMap "_contrib_quantize(ndarray)" args -> IO [NDArrayHandle]-_contrib_quantize args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["int8", "uint8"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantize_upd ::-                      forall args . Fullfilled "_contrib_quantize(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_contrib_quantize(ndarray)" args -> IO ()-_contrib_quantize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["int8", "uint8"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvimdecode(ndarray)" =-     '[ '("flag", AttrOpt Int), '("to_rgb", AttrOpt Bool),-        '("buf", AttrOpt NDArrayHandle)]--_cvimdecode ::-            forall args . Fullfilled "_cvimdecode(ndarray)" args =>-              ArgsHMap "_cvimdecode(ndarray)" args -> IO [NDArrayHandle]-_cvimdecode args-  = let scalarArgs-          = catMaybes-              [("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs-          = catMaybes [("buf",) <$> (args !? #buf :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvimdecode_upd ::-                forall args . Fullfilled "_cvimdecode(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_cvimdecode(ndarray)" args -> IO ()-_cvimdecode_upd outputs args-  = let scalarArgs-          = catMaybes-              [("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs-          = catMaybes [("buf",) <$> (args !? #buf :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvimread(ndarray)" =-     '[ '("filename", AttrReq String), '("flag", AttrOpt Int),-        '("to_rgb", AttrOpt Bool)]--_cvimread ::-          forall args . Fullfilled "_cvimread(ndarray)" args =>-            ArgsHMap "_cvimread(ndarray)" args -> IO [NDArrayHandle]-_cvimread args-  = let scalarArgs-          = catMaybes-              [("filename",) . showValue <$> (args !? #filename :: Maybe String),-               ("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimread"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvimread_upd ::-              forall args . Fullfilled "_cvimread(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_cvimread(ndarray)" args -> IO ()-_cvimread_upd outputs args-  = let scalarArgs-          = catMaybes-              [("filename",) . showValue <$> (args !? #filename :: Maybe String),-               ("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimread"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvimresize(ndarray)" =-     '[ '("w", AttrReq Int), '("h", AttrReq Int),-        '("interp", AttrOpt Int), '("src", AttrOpt NDArrayHandle)]--_cvimresize ::-            forall args . Fullfilled "_cvimresize(ndarray)" args =>-              ArgsHMap "_cvimresize(ndarray)" args -> IO [NDArrayHandle]-_cvimresize args-  = let scalarArgs-          = catMaybes-              [("w",) . showValue <$> (args !? #w :: Maybe Int),-               ("h",) . showValue <$> (args !? #h :: Maybe Int),-               ("interp",) . showValue <$> (args !? #interp :: Maybe Int)]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimresize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvimresize_upd ::-                forall args . Fullfilled "_cvimresize(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_cvimresize(ndarray)" args -> IO ()-_cvimresize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("w",) . showValue <$> (args !? #w :: Maybe Int),-               ("h",) . showValue <$> (args !? #h :: Maybe Int),-               ("interp",) . showValue <$> (args !? #interp :: Maybe Int)]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimresize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvcopyMakeBorder(ndarray)" =-     '[ '("top", AttrReq Int), '("bot", AttrReq Int),-        '("left", AttrReq Int), '("right", AttrReq Int),-        '("type", AttrOpt Int), '("value", AttrOpt Double),-        '("values", AttrOpt [Double]), '("src", AttrOpt NDArrayHandle)]--_cvcopyMakeBorder ::-                  forall args . Fullfilled "_cvcopyMakeBorder(ndarray)" args =>-                    ArgsHMap "_cvcopyMakeBorder(ndarray)" args -> IO [NDArrayHandle]-_cvcopyMakeBorder args-  = let scalarArgs-          = catMaybes-              [("top",) . showValue <$> (args !? #top :: Maybe Int),-               ("bot",) . showValue <$> (args !? #bot :: Maybe Int),-               ("left",) . showValue <$> (args !? #left :: Maybe Int),-               ("right",) . showValue <$> (args !? #right :: Maybe Int),-               ("type",) . showValue <$> (args !? #type :: Maybe Int),-               ("value",) . showValue <$> (args !? #value :: Maybe Double),-               ("values",) . showValue <$> (args !? #values :: Maybe [Double])]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvcopyMakeBorder"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvcopyMakeBorder_upd ::-                      forall args . Fullfilled "_cvcopyMakeBorder(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_cvcopyMakeBorder(ndarray)" args -> IO ()-_cvcopyMakeBorder_upd outputs args-  = let scalarArgs-          = catMaybes-              [("top",) . showValue <$> (args !? #top :: Maybe Int),-               ("bot",) . showValue <$> (args !? #bot :: Maybe Int),-               ("left",) . showValue <$> (args !? #left :: Maybe Int),-               ("right",) . showValue <$> (args !? #right :: Maybe Int),-               ("type",) . showValue <$> (args !? #type :: Maybe Int),-               ("value",) . showValue <$> (args !? #value :: Maybe Double),-               ("values",) . showValue <$> (args !? #values :: Maybe [Double])]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvcopyMakeBorder"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_NoGradient(ndarray)" = '[]--_NoGradient ::-            forall args . Fullfilled "_NoGradient(ndarray)" args =>-              ArgsHMap "_NoGradient(ndarray)" args -> IO [NDArrayHandle]-_NoGradient args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_NoGradient"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_NoGradient_upd ::-                forall args . Fullfilled "_NoGradient(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_NoGradient(ndarray)" args -> IO ()-_NoGradient_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_NoGradient"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CachedOp(ndarray)" =-     '[ '("data", AttrOpt [NDArrayHandle])]--_CachedOp ::-          forall args . Fullfilled "_CachedOp(ndarray)" args =>-            ArgsHMap "_CachedOp(ndarray)" args -> IO [NDArrayHandle]-_CachedOp args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CachedOp_upd ::-              forall args . Fullfilled "_CachedOp(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_CachedOp(ndarray)" args -> IO ()-_CachedOp_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_CachedOp(ndarray)" = '[]--_backward_CachedOp ::-                   forall args . Fullfilled "_backward_CachedOp(ndarray)" args =>-                     ArgsHMap "_backward_CachedOp(ndarray)" args -> IO [NDArrayHandle]-_backward_CachedOp args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_CachedOp_upd ::-                       forall args . Fullfilled "_backward_CachedOp(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_CachedOp(ndarray)" args -> IO ()-_backward_CachedOp_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_copyto(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_copyto ::-        forall args . Fullfilled "_copyto(ndarray)" args =>-          ArgsHMap "_copyto(ndarray)" args -> IO [NDArrayHandle]-_copyto args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copyto"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_copyto_upd ::-            forall args . Fullfilled "_copyto(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_copyto(ndarray)" args -> IO ()-_copyto_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copyto"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "softmax_cross_entropy(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--softmax_cross_entropy ::-                      forall args . Fullfilled "softmax_cross_entropy(ndarray)" args =>-                        ArgsHMap "softmax_cross_entropy(ndarray)" args ->-                          IO [NDArrayHandle]-softmax_cross_entropy args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--softmax_cross_entropy_upd ::-                          forall args . Fullfilled "softmax_cross_entropy(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "softmax_cross_entropy(ndarray)" args -> IO ()-softmax_cross_entropy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_softmax_cross_entropy(ndarray)" = '[]--_backward_softmax_cross_entropy ::-                                forall args .-                                  Fullfilled "_backward_softmax_cross_entropy(ndarray)" args =>-                                  ArgsHMap "_backward_softmax_cross_entropy(ndarray)" args ->-                                    IO [NDArrayHandle]-_backward_softmax_cross_entropy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_softmax_cross_entropy_upd ::-                                    forall args .-                                      Fullfilled "_backward_softmax_cross_entropy(ndarray)" args =>-                                      [NDArrayHandle] ->-                                        ArgsHMap "_backward_softmax_cross_entropy(ndarray)" args ->-                                          IO ()-_backward_softmax_cross_entropy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Pad(ndarray)" =-     '[ '("mode", AttrReq (EnumType '["constant", "edge", "reflect"])),-        '("pad_width", AttrReq [Int]), '("constant_value", AttrOpt Double),-        '("data", AttrOpt NDArrayHandle)]--_Pad ::-     forall args . Fullfilled "_Pad(ndarray)" args =>-       ArgsHMap "_Pad(ndarray)" args -> IO [NDArrayHandle]-_Pad args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["constant", "edge", "reflect"])),-               ("pad_width",) . showValue <$> (args !? #pad_width :: Maybe [Int]),-               ("constant_value",) . showValue <$>-                 (args !? #constant_value :: Maybe Double)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Pad_upd ::-         forall args . Fullfilled "_Pad(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_Pad(ndarray)" args -> IO ()-_Pad_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["constant", "edge", "reflect"])),-               ("pad_width",) . showValue <$> (args !? #pad_width :: Maybe [Int]),-               ("constant_value",) . showValue <$>-                 (args !? #constant_value :: Maybe Double)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_foreach(ndarray)" = '[]--_backward_foreach ::-                  forall args . Fullfilled "_backward_foreach(ndarray)" args =>-                    ArgsHMap "_backward_foreach(ndarray)" args -> IO [NDArrayHandle]-_backward_foreach args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_foreach"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_foreach_upd ::-                      forall args . Fullfilled "_backward_foreach(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_foreach(ndarray)" args -> IO ()-_backward_foreach_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_foreach"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_while_loop(ndarray)" = '[]--_backward_while_loop ::-                     forall args . Fullfilled "_backward_while_loop(ndarray)" args =>-                       ArgsHMap "_backward_while_loop(ndarray)" args -> IO [NDArrayHandle]-_backward_while_loop args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_while_loop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_while_loop_upd ::-                         forall args . Fullfilled "_backward_while_loop(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_while_loop(ndarray)" args -> IO ()-_backward_while_loop_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_while_loop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cond(ndarray)" = '[]--_backward_cond ::-               forall args . Fullfilled "_backward_cond(ndarray)" args =>-                 ArgsHMap "_backward_cond(ndarray)" args -> IO [NDArrayHandle]-_backward_cond args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cond"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cond_upd ::-                   forall args . Fullfilled "_backward_cond(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cond(ndarray)" args -> IO ()-_backward_cond_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cond"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LeakyReLU(ndarray)" =-     '[ '("act_type",-          AttrOpt (EnumType '["elu", "leaky", "prelu", "rrelu", "selu"])),-        '("slope", AttrOpt Float), '("lower_bound", AttrOpt Float),-        '("upper_bound", AttrOpt Float), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle)]--_LeakyReLU ::-           forall args . Fullfilled "_LeakyReLU(ndarray)" args =>-             ArgsHMap "_LeakyReLU(ndarray)" args -> IO [NDArrayHandle]-_LeakyReLU args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe (EnumType '["elu", "leaky", "prelu", "rrelu", "selu"])),-               ("slope",) . showValue <$> (args !? #slope :: Maybe Float),-               ("lower_bound",) . showValue <$>-                 (args !? #lower_bound :: Maybe Float),-               ("upper_bound",) . showValue <$>-                 (args !? #upper_bound :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LeakyReLU_upd ::-               forall args . Fullfilled "_LeakyReLU(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_LeakyReLU(ndarray)" args -> IO ()-_LeakyReLU_upd outputs args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe (EnumType '["elu", "leaky", "prelu", "rrelu", "selu"])),-               ("slope",) . showValue <$> (args !? #slope :: Maybe Float),-               ("lower_bound",) . showValue <$>-                 (args !? #lower_bound :: Maybe Float),-               ("upper_bound",) . showValue <$>-                 (args !? #upper_bound :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SwapAxis(ndarray)" =-     '[ '("dim1", AttrOpt Int), '("dim2", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle)]--_SwapAxis ::-          forall args . Fullfilled "_SwapAxis(ndarray)" args =>-            ArgsHMap "_SwapAxis(ndarray)" args -> IO [NDArrayHandle]-_SwapAxis args-  = let scalarArgs-          = catMaybes-              [("dim1",) . showValue <$> (args !? #dim1 :: Maybe Int),-               ("dim2",) . showValue <$> (args !? #dim2 :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SwapAxis_upd ::-              forall args . Fullfilled "_SwapAxis(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_SwapAxis(ndarray)" args -> IO ()-_SwapAxis_upd outputs args-  = let scalarArgs-          = catMaybes-              [("dim1",) . showValue <$> (args !? #dim1 :: Maybe Int),-               ("dim2",) . showValue <$> (args !? #dim2 :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_IdentityAttachKLSparseReg(ndarray)" =-     '[ '("sparseness_target", AttrOpt Float),-        '("penalty", AttrOpt Float), '("momentum", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_IdentityAttachKLSparseReg ::-                           forall args .-                             Fullfilled "_IdentityAttachKLSparseReg(ndarray)" args =>-                             ArgsHMap "_IdentityAttachKLSparseReg(ndarray)" args ->-                               IO [NDArrayHandle]-_IdentityAttachKLSparseReg args-  = let scalarArgs-          = catMaybes-              [("sparseness_target",) . showValue <$>-                 (args !? #sparseness_target :: Maybe Float),-               ("penalty",) . showValue <$> (args !? #penalty :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_IdentityAttachKLSparseReg_upd ::-                               forall args .-                                 Fullfilled "_IdentityAttachKLSparseReg(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_IdentityAttachKLSparseReg(ndarray)" args -> IO ()-_IdentityAttachKLSparseReg_upd outputs args-  = let scalarArgs-          = catMaybes-              [("sparseness_target",) . showValue <$>-                 (args !? #sparseness_target :: Maybe Float),-               ("penalty",) . showValue <$> (args !? #penalty :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SliceChannel(ndarray)" =-     '[ '("num_outputs", AttrReq Int), '("axis", AttrOpt Int),-        '("squeeze_axis", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--_SliceChannel ::-              forall args . Fullfilled "_SliceChannel(ndarray)" args =>-                ArgsHMap "_SliceChannel(ndarray)" args -> IO [NDArrayHandle]-_SliceChannel args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SliceChannel_upd ::-                  forall args . Fullfilled "_SliceChannel(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_SliceChannel(ndarray)" args -> IO ()-_SliceChannel_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BatchNorm_v1(ndarray)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_BatchNorm_v1 ::-              forall args . Fullfilled "_BatchNorm_v1(ndarray)" args =>-                ArgsHMap "_BatchNorm_v1(ndarray)" args -> IO [NDArrayHandle]-_BatchNorm_v1 args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BatchNorm_v1_upd ::-                  forall args . Fullfilled "_BatchNorm_v1(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_BatchNorm_v1(ndarray)" args -> IO ()-_BatchNorm_v1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "signsgd_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle)]--signsgd_update ::-               forall args . Fullfilled "signsgd_update(ndarray)" args =>-                 ArgsHMap "signsgd_update(ndarray)" args -> IO [NDArrayHandle]-signsgd_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signsgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--signsgd_update_upd ::-                   forall args . Fullfilled "signsgd_update(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "signsgd_update(ndarray)" args -> IO ()-signsgd_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signsgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "signum_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("wd_lh", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mom", AttrOpt NDArrayHandle)]--signum_update ::-              forall args . Fullfilled "signum_update(ndarray)" args =>-                ArgsHMap "signum_update(ndarray)" args -> IO [NDArrayHandle]-signum_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("wd_lh",) . showValue <$> (args !? #wd_lh :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signum_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--signum_update_upd ::-                  forall args . Fullfilled "signum_update(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "signum_update(ndarray)" args -> IO ()-signum_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("wd_lh",) . showValue <$> (args !? #wd_lh :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signum_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sgd_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle)]--sgd_update ::-           forall args . Fullfilled "sgd_update(ndarray)" args =>-             ArgsHMap "sgd_update(ndarray)" args -> IO [NDArrayHandle]-sgd_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sgd_update_upd ::-               forall args . Fullfilled "sgd_update(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "sgd_update(ndarray)" args -> IO ()-sgd_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sgd_mom_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mom", AttrOpt NDArrayHandle)]--sgd_mom_update ::-               forall args . Fullfilled "sgd_mom_update(ndarray)" args =>-                 ArgsHMap "sgd_mom_update(ndarray)" args -> IO [NDArrayHandle]-sgd_mom_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sgd_mom_update_upd ::-                   forall args . Fullfilled "sgd_mom_update(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "sgd_mom_update(ndarray)" args -> IO ()-sgd_mom_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "mp_sgd_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle),-        '("weight32", AttrOpt NDArrayHandle)]--mp_sgd_update ::-              forall args . Fullfilled "mp_sgd_update(ndarray)" args =>-                ArgsHMap "mp_sgd_update(ndarray)" args -> IO [NDArrayHandle]-mp_sgd_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--mp_sgd_update_upd ::-                  forall args . Fullfilled "mp_sgd_update(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "mp_sgd_update(ndarray)" args -> IO ()-mp_sgd_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "mp_sgd_mom_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mom", AttrOpt NDArrayHandle),-        '("weight32", AttrOpt NDArrayHandle)]--mp_sgd_mom_update ::-                  forall args . Fullfilled "mp_sgd_mom_update(ndarray)" args =>-                    ArgsHMap "mp_sgd_mom_update(ndarray)" args -> IO [NDArrayHandle]-mp_sgd_mom_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--mp_sgd_mom_update_upd ::-                      forall args . Fullfilled "mp_sgd_mom_update(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "mp_sgd_mom_update(ndarray)" args -> IO ()-mp_sgd_mom_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ftml_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Double),-        '("t", AttrReq Int), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float), '("clip_grad", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("d", AttrOpt NDArrayHandle),-        '("v", AttrOpt NDArrayHandle), '("z", AttrOpt NDArrayHandle)]--ftml_update ::-            forall args . Fullfilled "ftml_update(ndarray)" args =>-              ArgsHMap "ftml_update(ndarray)" args -> IO [NDArrayHandle]-ftml_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Double),-               ("t",) . showValue <$> (args !? #t :: Maybe Int),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_grad",) . showValue <$> (args !? #clip_grad :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("d",) <$> (args !? #d :: Maybe NDArrayHandle),-               ("v",) <$> (args !? #v :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftml_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ftml_update_upd ::-                forall args . Fullfilled "ftml_update(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "ftml_update(ndarray)" args -> IO ()-ftml_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Double),-               ("t",) . showValue <$> (args !? #t :: Maybe Int),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_grad",) . showValue <$> (args !? #clip_grad :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("d",) <$> (args !? #d :: Maybe NDArrayHandle),-               ("v",) <$> (args !? #v :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftml_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "adam_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mean", AttrOpt NDArrayHandle),-        '("var", AttrOpt NDArrayHandle)]--adam_update ::-            forall args . Fullfilled "adam_update(ndarray)" args =>-              ArgsHMap "adam_update(ndarray)" args -> IO [NDArrayHandle]-adam_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mean",) <$> (args !? #mean :: Maybe NDArrayHandle),-               ("var",) <$> (args !? #var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "adam_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--adam_update_upd ::-                forall args . Fullfilled "adam_update(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "adam_update(ndarray)" args -> IO ()-adam_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mean",) <$> (args !? #mean :: Maybe NDArrayHandle),-               ("var",) <$> (args !? #var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "adam_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rmsprop_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("epsilon", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("n", AttrOpt NDArrayHandle)]--rmsprop_update ::-               forall args . Fullfilled "rmsprop_update(ndarray)" args =>-                 ArgsHMap "rmsprop_update(ndarray)" args -> IO [NDArrayHandle]-rmsprop_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmsprop_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rmsprop_update_upd ::-                   forall args . Fullfilled "rmsprop_update(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "rmsprop_update(ndarray)" args -> IO ()-rmsprop_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmsprop_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rmspropalex_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("gamma2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("n", AttrOpt NDArrayHandle),-        '("g", AttrOpt NDArrayHandle), '("delta", AttrOpt NDArrayHandle)]--rmspropalex_update ::-                   forall args . Fullfilled "rmspropalex_update(ndarray)" args =>-                     ArgsHMap "rmspropalex_update(ndarray)" args -> IO [NDArrayHandle]-rmspropalex_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("gamma2",) . showValue <$> (args !? #gamma2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle),-               ("g",) <$> (args !? #g :: Maybe NDArrayHandle),-               ("delta",) <$> (args !? #delta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmspropalex_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rmspropalex_update_upd ::-                       forall args . Fullfilled "rmspropalex_update(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "rmspropalex_update(ndarray)" args -> IO ()-rmspropalex_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("gamma2",) . showValue <$> (args !? #gamma2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle),-               ("g",) <$> (args !? #g :: Maybe NDArrayHandle),-               ("delta",) <$> (args !? #delta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmspropalex_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ftrl_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("lamda1", AttrOpt Float),-        '("beta", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("z", AttrOpt NDArrayHandle),-        '("n", AttrOpt NDArrayHandle)]--ftrl_update ::-            forall args . Fullfilled "ftrl_update(ndarray)" args =>-              ArgsHMap "ftrl_update(ndarray)" args -> IO [NDArrayHandle]-ftrl_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("lamda1",) . showValue <$> (args !? #lamda1 :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftrl_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ftrl_update_upd ::-                forall args . Fullfilled "ftrl_update(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "ftrl_update(ndarray)" args -> IO ()-ftrl_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("lamda1",) . showValue <$> (args !? #lamda1 :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftrl_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sparse_adagrad_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle),-        '("history", AttrOpt NDArrayHandle)]--_sparse_adagrad_update ::-                       forall args . Fullfilled "_sparse_adagrad_update(ndarray)" args =>-                         ArgsHMap "_sparse_adagrad_update(ndarray)" args ->-                           IO [NDArrayHandle]-_sparse_adagrad_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("history",) <$> (args !? #history :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_adagrad_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sparse_adagrad_update_upd ::-                           forall args . Fullfilled "_sparse_adagrad_update(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_sparse_adagrad_update(ndarray)" args -> IO ()-_sparse_adagrad_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("history",) <$> (args !? #history :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_adagrad_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LinearRegressionOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_LinearRegressionOutput ::-                        forall args . Fullfilled "_LinearRegressionOutput(ndarray)" args =>-                          ArgsHMap "_LinearRegressionOutput(ndarray)" args ->-                            IO [NDArrayHandle]-_LinearRegressionOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LinearRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LinearRegressionOutput_upd ::-                            forall args . Fullfilled "_LinearRegressionOutput(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_LinearRegressionOutput(ndarray)" args -> IO ()-_LinearRegressionOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LinearRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linear_reg_out(ndarray)" =-     '[]--_backward_linear_reg_out ::-                         forall args .-                           Fullfilled "_backward_linear_reg_out(ndarray)" args =>-                           ArgsHMap "_backward_linear_reg_out(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_linear_reg_out args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linear_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linear_reg_out_upd ::-                             forall args .-                               Fullfilled "_backward_linear_reg_out(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_linear_reg_out(ndarray)" args -> IO ()-_backward_linear_reg_out_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linear_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_MAERegressionOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_MAERegressionOutput ::-                     forall args . Fullfilled "_MAERegressionOutput(ndarray)" args =>-                       ArgsHMap "_MAERegressionOutput(ndarray)" args -> IO [NDArrayHandle]-_MAERegressionOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MAERegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_MAERegressionOutput_upd ::-                         forall args . Fullfilled "_MAERegressionOutput(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_MAERegressionOutput(ndarray)" args -> IO ()-_MAERegressionOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MAERegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mae_reg_out(ndarray)" = '[]--_backward_mae_reg_out ::-                      forall args . Fullfilled "_backward_mae_reg_out(ndarray)" args =>-                        ArgsHMap "_backward_mae_reg_out(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_mae_reg_out args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mae_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mae_reg_out_upd ::-                          forall args . Fullfilled "_backward_mae_reg_out(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_mae_reg_out(ndarray)" args -> IO ()-_backward_mae_reg_out_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mae_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LogisticRegressionOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_LogisticRegressionOutput ::-                          forall args .-                            Fullfilled "_LogisticRegressionOutput(ndarray)" args =>-                            ArgsHMap "_LogisticRegressionOutput(ndarray)" args ->-                              IO [NDArrayHandle]-_LogisticRegressionOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LogisticRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LogisticRegressionOutput_upd ::-                              forall args .-                                Fullfilled "_LogisticRegressionOutput(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_LogisticRegressionOutput(ndarray)" args -> IO ()-_LogisticRegressionOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LogisticRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_logistic_reg_out(ndarray)" =-     '[]--_backward_logistic_reg_out ::-                           forall args .-                             Fullfilled "_backward_logistic_reg_out(ndarray)" args =>-                             ArgsHMap "_backward_logistic_reg_out(ndarray)" args ->-                               IO [NDArrayHandle]-_backward_logistic_reg_out args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_logistic_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_logistic_reg_out_upd ::-                               forall args .-                                 Fullfilled "_backward_logistic_reg_out(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_backward_logistic_reg_out(ndarray)" args -> IO ()-_backward_logistic_reg_out_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_logistic_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CustomFunction(ndarray)" = '[]--_CustomFunction ::-                forall args . Fullfilled "_CustomFunction(ndarray)" args =>-                  ArgsHMap "_CustomFunction(ndarray)" args -> IO [NDArrayHandle]-_CustomFunction args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CustomFunction_upd ::-                    forall args . Fullfilled "_CustomFunction(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_CustomFunction(ndarray)" args -> IO ()-_CustomFunction_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_CustomFunction(ndarray)" =-     '[]--_backward_CustomFunction ::-                         forall args .-                           Fullfilled "_backward_CustomFunction(ndarray)" args =>-                           ArgsHMap "_backward_CustomFunction(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_CustomFunction args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_CustomFunction_upd ::-                             forall args .-                               Fullfilled "_backward_CustomFunction(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_CustomFunction(ndarray)" args -> IO ()-_backward_CustomFunction_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__Native(ndarray)" = '[]--_backward__Native ::-                  forall args . Fullfilled "_backward__Native(ndarray)" args =>-                    ArgsHMap "_backward__Native(ndarray)" args -> IO [NDArrayHandle]-_backward__Native args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__Native"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__Native_upd ::-                      forall args . Fullfilled "_backward__Native(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward__Native(ndarray)" args -> IO ()-_backward__Native_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__Native"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__NDArray(ndarray)" = '[]--_backward__NDArray ::-                   forall args . Fullfilled "_backward__NDArray(ndarray)" args =>-                     ArgsHMap "_backward__NDArray(ndarray)" args -> IO [NDArrayHandle]-_backward__NDArray args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__NDArray"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__NDArray_upd ::-                       forall args . Fullfilled "_backward__NDArray(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward__NDArray(ndarray)" args -> IO ()-_backward__NDArray_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__NDArray"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiBoxTarget(ndarray)" =-     '[ '("overlap_threshold", AttrOpt Float),-        '("ignore_label", AttrOpt Float),-        '("negative_mining_ratio", AttrOpt Float),-        '("negative_mining_thresh", AttrOpt Float),-        '("minimum_negative_samples", AttrOpt Int),-        '("variances", AttrOpt [Float]),-        '("anchor", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle),-        '("cls_pred", AttrOpt NDArrayHandle)]--_contrib_MultiBoxTarget ::-                        forall args . Fullfilled "_contrib_MultiBoxTarget(ndarray)" args =>-                          ArgsHMap "_contrib_MultiBoxTarget(ndarray)" args ->-                            IO [NDArrayHandle]-_contrib_MultiBoxTarget args-  = let scalarArgs-          = catMaybes-              [("overlap_threshold",) . showValue <$>-                 (args !? #overlap_threshold :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("negative_mining_ratio",) . showValue <$>-                 (args !? #negative_mining_ratio :: Maybe Float),-               ("negative_mining_thresh",) . showValue <$>-                 (args !? #negative_mining_thresh :: Maybe Float),-               ("minimum_negative_samples",) . showValue <$>-                 (args !? #minimum_negative_samples :: Maybe Int),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float])]-        tensorArgs-          = catMaybes-              [("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("cls_pred",) <$> (args !? #cls_pred :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiBoxTarget_upd ::-                            forall args . Fullfilled "_contrib_MultiBoxTarget(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_contrib_MultiBoxTarget(ndarray)" args -> IO ()-_contrib_MultiBoxTarget_upd outputs args-  = let scalarArgs-          = catMaybes-              [("overlap_threshold",) . showValue <$>-                 (args !? #overlap_threshold :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("negative_mining_ratio",) . showValue <$>-                 (args !? #negative_mining_ratio :: Maybe Float),-               ("negative_mining_thresh",) . showValue <$>-                 (args !? #negative_mining_thresh :: Maybe Float),-               ("minimum_negative_samples",) . showValue <$>-                 (args !? #minimum_negative_samples :: Maybe Int),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float])]-        tensorArgs-          = catMaybes-              [("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("cls_pred",) <$> (args !? #cls_pred :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiBoxTarget(ndarray)" = '[]--_backward__contrib_MultiBoxTarget ::-                                  forall args .-                                    Fullfilled "_backward__contrib_MultiBoxTarget(ndarray)" args =>-                                    ArgsHMap "_backward__contrib_MultiBoxTarget(ndarray)" args ->-                                      IO [NDArrayHandle]-_backward__contrib_MultiBoxTarget args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiBoxTarget_upd ::-                                      forall args .-                                        Fullfilled "_backward__contrib_MultiBoxTarget(ndarray)"-                                          args =>-                                        [NDArrayHandle] ->-                                          ArgsHMap "_backward__contrib_MultiBoxTarget(ndarray)" args-                                            -> IO ()-_backward__contrib_MultiBoxTarget_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_Proposal(ndarray)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt NDArrayHandle),-        '("bbox_pred", AttrOpt NDArrayHandle),-        '("im_info", AttrOpt NDArrayHandle)]--_contrib_Proposal ::-                  forall args . Fullfilled "_contrib_Proposal(ndarray)" args =>-                    ArgsHMap "_contrib_Proposal(ndarray)" args -> IO [NDArrayHandle]-_contrib_Proposal args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_Proposal_upd ::-                      forall args . Fullfilled "_contrib_Proposal(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_contrib_Proposal(ndarray)" args -> IO ()-_contrib_Proposal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_Proposal(ndarray)"-     = '[]--_backward__contrib_Proposal ::-                            forall args .-                              Fullfilled "_backward__contrib_Proposal(ndarray)" args =>-                              ArgsHMap "_backward__contrib_Proposal(ndarray)" args ->-                                IO [NDArrayHandle]-_backward__contrib_Proposal args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_Proposal_upd ::-                                forall args .-                                  Fullfilled "_backward__contrib_Proposal(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward__contrib_Proposal(ndarray)" args -> IO ()-_backward__contrib_Proposal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_count_sketch(ndarray)" =-     '[ '("out_dim", AttrReq Int),-        '("processing_batch_size", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle), '("h", AttrOpt NDArrayHandle),-        '("s", AttrOpt NDArrayHandle)]--_contrib_count_sketch ::-                      forall args . Fullfilled "_contrib_count_sketch(ndarray)" args =>-                        ArgsHMap "_contrib_count_sketch(ndarray)" args ->-                          IO [NDArrayHandle]-_contrib_count_sketch args-  = let scalarArgs-          = catMaybes-              [("out_dim",) . showValue <$> (args !? #out_dim :: Maybe Int),-               ("processing_batch_size",) . showValue <$>-                 (args !? #processing_batch_size :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("h",) <$> (args !? #h :: Maybe NDArrayHandle),-               ("s",) <$> (args !? #s :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_count_sketch_upd ::-                          forall args . Fullfilled "_contrib_count_sketch(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_contrib_count_sketch(ndarray)" args -> IO ()-_contrib_count_sketch_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_dim",) . showValue <$> (args !? #out_dim :: Maybe Int),-               ("processing_batch_size",) . showValue <$>-                 (args !? #processing_batch_size :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("h",) <$> (args !? #h :: Maybe NDArrayHandle),-               ("s",) <$> (args !? #s :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_count_sketch(ndarray)" = '[]--_backward__contrib_count_sketch ::-                                forall args .-                                  Fullfilled "_backward__contrib_count_sketch(ndarray)" args =>-                                  ArgsHMap "_backward__contrib_count_sketch(ndarray)" args ->-                                    IO [NDArrayHandle]-_backward__contrib_count_sketch args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_count_sketch_upd ::-                                    forall args .-                                      Fullfilled "_backward__contrib_count_sketch(ndarray)" args =>-                                      [NDArrayHandle] ->-                                        ArgsHMap "_backward__contrib_count_sketch(ndarray)" args ->-                                          IO ()-_backward__contrib_count_sketch_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiBoxDetection(ndarray)" =-     '[ '("clip", AttrOpt Bool), '("threshold", AttrOpt Float),-        '("background_id", AttrOpt Int), '("nms_threshold", AttrOpt Float),-        '("force_suppress", AttrOpt Bool), '("variances", AttrOpt [Float]),-        '("nms_topk", AttrOpt Int), '("cls_prob", AttrOpt NDArrayHandle),-        '("loc_pred", AttrOpt NDArrayHandle),-        '("anchor", AttrOpt NDArrayHandle)]--_contrib_MultiBoxDetection ::-                           forall args .-                             Fullfilled "_contrib_MultiBoxDetection(ndarray)" args =>-                             ArgsHMap "_contrib_MultiBoxDetection(ndarray)" args ->-                               IO [NDArrayHandle]-_contrib_MultiBoxDetection args-  = let scalarArgs-          = catMaybes-              [("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("nms_threshold",) . showValue <$>-                 (args !? #nms_threshold :: Maybe Float),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float]),-               ("nms_topk",) . showValue <$> (args !? #nms_topk :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("loc_pred",) <$> (args !? #loc_pred :: Maybe NDArrayHandle),-               ("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiBoxDetection_upd ::-                               forall args .-                                 Fullfilled "_contrib_MultiBoxDetection(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_contrib_MultiBoxDetection(ndarray)" args -> IO ()-_contrib_MultiBoxDetection_upd outputs args-  = let scalarArgs-          = catMaybes-              [("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("nms_threshold",) . showValue <$>-                 (args !? #nms_threshold :: Maybe Float),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float]),-               ("nms_topk",) . showValue <$> (args !? #nms_topk :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("loc_pred",) <$> (args !? #loc_pred :: Maybe NDArrayHandle),-               ("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiBoxDetection(ndarray)" = '[]--_backward__contrib_MultiBoxDetection ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiBoxDetection(ndarray)"-                                         args =>-                                       ArgsHMap "_backward__contrib_MultiBoxDetection(ndarray)" args-                                         -> IO [NDArrayHandle]-_backward__contrib_MultiBoxDetection args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiBoxDetection_upd ::-                                         forall args .-                                           Fullfilled-                                             "_backward__contrib_MultiBoxDetection(ndarray)" args =>-                                           [NDArrayHandle] ->-                                             ArgsHMap-                                               "_backward__contrib_MultiBoxDetection(ndarray)"-                                               args-                                               -> IO ()-_backward__contrib_MultiBoxDetection_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_DeformablePSROIPooling(ndarray)"-     = '[]--_backward__contrib_DeformablePSROIPooling ::-                                          forall args .-                                            Fullfilled-                                              "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                              args =>-                                            ArgsHMap-                                              "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                              args-                                              -> IO [NDArrayHandle]-_backward__contrib_DeformablePSROIPooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformablePSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_DeformablePSROIPooling_upd ::-                                              forall args .-                                                Fullfilled-                                                  "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                                  args =>-                                                [NDArrayHandle] ->-                                                  ArgsHMap-                                                    "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                                    args-                                                    -> IO ()-_backward__contrib_DeformablePSROIPooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformablePSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_fft(ndarray)" =-     '[ '("compute_size", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle)]--_contrib_fft ::-             forall args . Fullfilled "_contrib_fft(ndarray)" args =>-               ArgsHMap "_contrib_fft(ndarray)" args -> IO [NDArrayHandle]-_contrib_fft args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_fft_upd ::-                 forall args . Fullfilled "_contrib_fft(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_contrib_fft(ndarray)" args -> IO ()-_contrib_fft_upd outputs args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_fft(ndarray)" = '[]--_backward__contrib_fft ::-                       forall args . Fullfilled "_backward__contrib_fft(ndarray)" args =>-                         ArgsHMap "_backward__contrib_fft(ndarray)" args ->-                           IO [NDArrayHandle]-_backward__contrib_fft args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_fft_upd ::-                           forall args . Fullfilled "_backward__contrib_fft(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward__contrib_fft(ndarray)" args -> IO ()-_backward__contrib_fft_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiBoxPrior(ndarray)" =-     '[ '("sizes", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("clip", AttrOpt Bool), '("steps", AttrOpt [Float]),-        '("offsets", AttrOpt [Float]), '("data", AttrOpt NDArrayHandle)]--_contrib_MultiBoxPrior ::-                       forall args . Fullfilled "_contrib_MultiBoxPrior(ndarray)" args =>-                         ArgsHMap "_contrib_MultiBoxPrior(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_MultiBoxPrior args-  = let scalarArgs-          = catMaybes-              [("sizes",) . showValue <$> (args !? #sizes :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("steps",) . showValue <$> (args !? #steps :: Maybe [Float]),-               ("offsets",) . showValue <$> (args !? #offsets :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiBoxPrior_upd ::-                           forall args . Fullfilled "_contrib_MultiBoxPrior(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_MultiBoxPrior(ndarray)" args -> IO ()-_contrib_MultiBoxPrior_upd outputs args-  = let scalarArgs-          = catMaybes-              [("sizes",) . showValue <$> (args !? #sizes :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("steps",) . showValue <$> (args !? #steps :: Maybe [Float]),-               ("offsets",) . showValue <$> (args !? #offsets :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiBoxPrior(ndarray)" = '[]--_backward__contrib_MultiBoxPrior ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiBoxPrior(ndarray)" args =>-                                   ArgsHMap "_backward__contrib_MultiBoxPrior(ndarray)" args ->-                                     IO [NDArrayHandle]-_backward__contrib_MultiBoxPrior args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiBoxPrior_upd ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiBoxPrior(ndarray)"-                                         args =>-                                       [NDArrayHandle] ->-                                         ArgsHMap "_backward__contrib_MultiBoxPrior(ndarray)" args-                                           -> IO ()-_backward__contrib_MultiBoxPrior_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiProposal(ndarray)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt NDArrayHandle),-        '("bbox_pred", AttrOpt NDArrayHandle),-        '("im_info", AttrOpt NDArrayHandle)]--_contrib_MultiProposal ::-                       forall args . Fullfilled "_contrib_MultiProposal(ndarray)" args =>-                         ArgsHMap "_contrib_MultiProposal(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_MultiProposal args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiProposal_upd ::-                           forall args . Fullfilled "_contrib_MultiProposal(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_MultiProposal(ndarray)" args -> IO ()-_contrib_MultiProposal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiProposal(ndarray)" = '[]--_backward__contrib_MultiProposal ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiProposal(ndarray)" args =>-                                   ArgsHMap "_backward__contrib_MultiProposal(ndarray)" args ->-                                     IO [NDArrayHandle]-_backward__contrib_MultiProposal args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiProposal_upd ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiProposal(ndarray)"-                                         args =>-                                       [NDArrayHandle] ->-                                         ArgsHMap "_backward__contrib_MultiProposal(ndarray)" args-                                           -> IO ()-_backward__contrib_MultiProposal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_PSROIPooling(ndarray)" = '[]--_backward__contrib_PSROIPooling ::-                                forall args .-                                  Fullfilled "_backward__contrib_PSROIPooling(ndarray)" args =>-                                  ArgsHMap "_backward__contrib_PSROIPooling(ndarray)" args ->-                                    IO [NDArrayHandle]-_backward__contrib_PSROIPooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_PSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_PSROIPooling_upd ::-                                    forall args .-                                      Fullfilled "_backward__contrib_PSROIPooling(ndarray)" args =>-                                      [NDArrayHandle] ->-                                        ArgsHMap "_backward__contrib_PSROIPooling(ndarray)" args ->-                                          IO ()-_backward__contrib_PSROIPooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_PSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_DeformableConvolution(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("num_deformable_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("layout", AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NCW"]))),-        '("data", AttrOpt NDArrayHandle),-        '("offset", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_contrib_DeformableConvolution ::-                               forall args .-                                 Fullfilled "_contrib_DeformableConvolution(ndarray)" args =>-                                 ArgsHMap "_contrib_DeformableConvolution(ndarray)" args ->-                                   IO [NDArrayHandle]-_contrib_DeformableConvolution args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("num_deformable_group",) . showValue <$>-                 (args !? #num_deformable_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NCW"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("offset",) <$> (args !? #offset :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_DeformableConvolution_upd ::-                                   forall args .-                                     Fullfilled "_contrib_DeformableConvolution(ndarray)" args =>-                                     [NDArrayHandle] ->-                                       ArgsHMap "_contrib_DeformableConvolution(ndarray)" args ->-                                         IO ()-_contrib_DeformableConvolution_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("num_deformable_group",) . showValue <$>-                 (args !? #num_deformable_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NCW"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("offset",) <$> (args !? #offset :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_DeformableConvolution(ndarray)" =-     '[]--_backward__contrib_DeformableConvolution ::-                                         forall args .-                                           Fullfilled-                                             "_backward__contrib_DeformableConvolution(ndarray)"-                                             args =>-                                           ArgsHMap-                                             "_backward__contrib_DeformableConvolution(ndarray)"-                                             args-                                             -> IO [NDArrayHandle]-_backward__contrib_DeformableConvolution args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_DeformableConvolution_upd ::-                                             forall args .-                                               Fullfilled-                                                 "_backward__contrib_DeformableConvolution(ndarray)"-                                                 args =>-                                               [NDArrayHandle] ->-                                                 ArgsHMap-                                                   "_backward__contrib_DeformableConvolution(ndarray)"-                                                   args-                                                   -> IO ()-_backward__contrib_DeformableConvolution_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_ifft(ndarray)" =-     '[ '("compute_size", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle)]--_contrib_ifft ::-              forall args . Fullfilled "_contrib_ifft(ndarray)" args =>-                ArgsHMap "_contrib_ifft(ndarray)" args -> IO [NDArrayHandle]-_contrib_ifft args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_ifft_upd ::-                  forall args . Fullfilled "_contrib_ifft(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_contrib_ifft(ndarray)" args -> IO ()-_contrib_ifft_upd outputs args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_ifft(ndarray)" =-     '[]--_backward__contrib_ifft ::-                        forall args . Fullfilled "_backward__contrib_ifft(ndarray)" args =>-                          ArgsHMap "_backward__contrib_ifft(ndarray)" args ->-                            IO [NDArrayHandle]-_backward__contrib_ifft args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_ifft_upd ::-                            forall args . Fullfilled "_backward__contrib_ifft(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward__contrib_ifft(ndarray)" args -> IO ()-_backward__contrib_ifft_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_SyncBatchNorm(ndarray)" = '[]--_backward__contrib_SyncBatchNorm ::-                                 forall args .-                                   Fullfilled "_backward__contrib_SyncBatchNorm(ndarray)" args =>-                                   ArgsHMap "_backward__contrib_SyncBatchNorm(ndarray)" args ->-                                     IO [NDArrayHandle]-_backward__contrib_SyncBatchNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_SyncBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_SyncBatchNorm_upd ::-                                     forall args .-                                       Fullfilled "_backward__contrib_SyncBatchNorm(ndarray)"-                                         args =>-                                       [NDArrayHandle] ->-                                         ArgsHMap "_backward__contrib_SyncBatchNorm(ndarray)" args-                                           -> IO ()-_backward__contrib_SyncBatchNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_SyncBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_InstanceNorm(ndarray)" =-     '[ '("eps", AttrOpt Float), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_InstanceNorm ::-              forall args . Fullfilled "_InstanceNorm(ndarray)" args =>-                ArgsHMap "_InstanceNorm(ndarray)" args -> IO [NDArrayHandle]-_InstanceNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_InstanceNorm_upd ::-                  forall args . Fullfilled "_InstanceNorm(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_InstanceNorm(ndarray)" args -> IO ()-_InstanceNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_InstanceNorm(ndarray)" = '[]--_backward_InstanceNorm ::-                       forall args . Fullfilled "_backward_InstanceNorm(ndarray)" args =>-                         ArgsHMap "_backward_InstanceNorm(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_InstanceNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_InstanceNorm_upd ::-                           forall args . Fullfilled "_backward_InstanceNorm(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_InstanceNorm(ndarray)" args -> IO ()-_backward_InstanceNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SVMOutput(ndarray)" =-     '[ '("margin", AttrOpt Float),-        '("regularization_coefficient", AttrOpt Float),-        '("use_linear", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_SVMOutput ::-           forall args . Fullfilled "_SVMOutput(ndarray)" args =>-             ArgsHMap "_SVMOutput(ndarray)" args -> IO [NDArrayHandle]-_SVMOutput args-  = let scalarArgs-          = catMaybes-              [("margin",) . showValue <$> (args !? #margin :: Maybe Float),-               ("regularization_coefficient",) . showValue <$>-                 (args !? #regularization_coefficient :: Maybe Float),-               ("use_linear",) . showValue <$>-                 (args !? #use_linear :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SVMOutput_upd ::-               forall args . Fullfilled "_SVMOutput(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_SVMOutput(ndarray)" args -> IO ()-_SVMOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("margin",) . showValue <$> (args !? #margin :: Maybe Float),-               ("regularization_coefficient",) . showValue <$>-                 (args !? #regularization_coefficient :: Maybe Float),-               ("use_linear",) . showValue <$>-                 (args !? #use_linear :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SVMOutput(ndarray)" = '[]--_backward_SVMOutput ::-                    forall args . Fullfilled "_backward_SVMOutput(ndarray)" args =>-                      ArgsHMap "_backward_SVMOutput(ndarray)" args -> IO [NDArrayHandle]-_backward_SVMOutput args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SVMOutput_upd ::-                        forall args . Fullfilled "_backward_SVMOutput(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_SVMOutput(ndarray)" args -> IO ()-_backward_SVMOutput_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_GridGenerator(ndarray)" =-     '[ '("transform_type", AttrReq (EnumType '["affine", "warp"])),-        '("target_shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--_GridGenerator ::-               forall args . Fullfilled "_GridGenerator(ndarray)" args =>-                 ArgsHMap "_GridGenerator(ndarray)" args -> IO [NDArrayHandle]-_GridGenerator args-  = let scalarArgs-          = catMaybes-              [("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine", "warp"])),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_GridGenerator_upd ::-                   forall args . Fullfilled "_GridGenerator(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_GridGenerator(ndarray)" args -> IO ()-_GridGenerator_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine", "warp"])),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_GridGenerator(ndarray)" =-     '[]--_backward_GridGenerator ::-                        forall args . Fullfilled "_backward_GridGenerator(ndarray)" args =>-                          ArgsHMap "_backward_GridGenerator(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_GridGenerator args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_GridGenerator_upd ::-                            forall args . Fullfilled "_backward_GridGenerator(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_GridGenerator(ndarray)" args -> IO ()-_backward_GridGenerator_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Pad(ndarray)" = '[]--_backward_Pad ::-              forall args . Fullfilled "_backward_Pad(ndarray)" args =>-                ArgsHMap "_backward_Pad(ndarray)" args -> IO [NDArrayHandle]-_backward_Pad args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Pad_upd ::-                  forall args . Fullfilled "_backward_Pad(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_Pad(ndarray)" args -> IO ()-_backward_Pad_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Convolution_v1(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_Convolution_v1 ::-                forall args . Fullfilled "_Convolution_v1(ndarray)" args =>-                  ArgsHMap "_Convolution_v1(ndarray)" args -> IO [NDArrayHandle]-_Convolution_v1 args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Convolution_v1_upd ::-                    forall args . Fullfilled "_Convolution_v1(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_Convolution_v1(ndarray)" args -> IO ()-_Convolution_v1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Convolution_v1(ndarray)" =-     '[]--_backward_Convolution_v1 ::-                         forall args .-                           Fullfilled "_backward_Convolution_v1(ndarray)" args =>-                           ArgsHMap "_backward_Convolution_v1(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_Convolution_v1 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Convolution_v1_upd ::-                             forall args .-                               Fullfilled "_backward_Convolution_v1(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_Convolution_v1(ndarray)" args -> IO ()-_backward_Convolution_v1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SequenceReverse(ndarray)" =-     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle),-        '("sequence_length", AttrOpt NDArrayHandle)]--_SequenceReverse ::-                 forall args . Fullfilled "_SequenceReverse(ndarray)" args =>-                   ArgsHMap "_SequenceReverse(ndarray)" args -> IO [NDArrayHandle]-_SequenceReverse args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SequenceReverse_upd ::-                     forall args . Fullfilled "_SequenceReverse(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_SequenceReverse(ndarray)" args -> IO ()-_SequenceReverse_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SequenceReverse(ndarray)" =-     '[]--_backward_SequenceReverse ::-                          forall args .-                            Fullfilled "_backward_SequenceReverse(ndarray)" args =>-                            ArgsHMap "_backward_SequenceReverse(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_SequenceReverse args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SequenceReverse_upd ::-                              forall args .-                                Fullfilled "_backward_SequenceReverse(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_SequenceReverse(ndarray)" args -> IO ()-_backward_SequenceReverse_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SoftmaxOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_SoftmaxOutput ::-               forall args . Fullfilled "_SoftmaxOutput(ndarray)" args =>-                 ArgsHMap "_SoftmaxOutput(ndarray)" args -> IO [NDArrayHandle]-_SoftmaxOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SoftmaxOutput_upd ::-                   forall args . Fullfilled "_SoftmaxOutput(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_SoftmaxOutput(ndarray)" args -> IO ()-_SoftmaxOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SoftmaxOutput(ndarray)" =-     '[]--_backward_SoftmaxOutput ::-                        forall args . Fullfilled "_backward_SoftmaxOutput(ndarray)" args =>-                          ArgsHMap "_backward_SoftmaxOutput(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_SoftmaxOutput args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SoftmaxOutput_upd ::-                            forall args . Fullfilled "_backward_SoftmaxOutput(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_SoftmaxOutput(ndarray)" args -> IO ()-_backward_SoftmaxOutput_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Softmax(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_Softmax ::-         forall args . Fullfilled "_Softmax(ndarray)" args =>-           ArgsHMap "_Softmax(ndarray)" args -> IO [NDArrayHandle]-_Softmax args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Softmax_upd ::-             forall args . Fullfilled "_Softmax(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Softmax(ndarray)" args -> IO ()-_Softmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Softmax(ndarray)" = '[]--_backward_Softmax ::-                  forall args . Fullfilled "_backward_Softmax(ndarray)" args =>-                    ArgsHMap "_backward_Softmax(ndarray)" args -> IO [NDArrayHandle]-_backward_Softmax args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Softmax_upd ::-                      forall args . Fullfilled "_backward_Softmax(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_Softmax(ndarray)" args -> IO ()-_backward_Softmax_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BilinearSampler(ndarray)" =-     '[ '("cudnn_off", AttrOpt (Maybe Bool)),-        '("data", AttrOpt NDArrayHandle), '("grid", AttrOpt NDArrayHandle)]--_BilinearSampler ::-                 forall args . Fullfilled "_BilinearSampler(ndarray)" args =>-                   ArgsHMap "_BilinearSampler(ndarray)" args -> IO [NDArrayHandle]-_BilinearSampler args-  = let scalarArgs-          = catMaybes-              [("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("grid",) <$> (args !? #grid :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BilinearSampler_upd ::-                     forall args . Fullfilled "_BilinearSampler(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_BilinearSampler(ndarray)" args -> IO ()-_BilinearSampler_upd outputs args-  = let scalarArgs-          = catMaybes-              [("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("grid",) <$> (args !? #grid :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_BilinearSampler(ndarray)" =-     '[]--_backward_BilinearSampler ::-                          forall args .-                            Fullfilled "_backward_BilinearSampler(ndarray)" args =>-                            ArgsHMap "_backward_BilinearSampler(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_BilinearSampler args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_BilinearSampler_upd ::-                              forall args .-                                Fullfilled "_backward_BilinearSampler(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_BilinearSampler(ndarray)" args -> IO ()-_backward_BilinearSampler_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_LeakyReLU(ndarray)" = '[]--_backward_LeakyReLU ::-                    forall args . Fullfilled "_backward_LeakyReLU(ndarray)" args =>-                      ArgsHMap "_backward_LeakyReLU(ndarray)" args -> IO [NDArrayHandle]-_backward_LeakyReLU args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_LeakyReLU_upd ::-                        forall args . Fullfilled "_backward_LeakyReLU(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_LeakyReLU(ndarray)" args -> IO ()-_backward_LeakyReLU_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Crop(ndarray)" =-     '[ '("num_args", AttrReq Int), '("offset", AttrOpt [Int]),-        '("h_w", AttrOpt [Int]), '("center_crop", AttrOpt Bool),-        '("data", AttrOpt [NDArrayHandle])]--_Crop ::-      forall args . Fullfilled "_Crop(ndarray)" args =>-        ArgsHMap "_Crop(ndarray)" args -> IO [NDArrayHandle]-_Crop args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("offset",) . showValue <$> (args !? #offset :: Maybe [Int]),-               ("h_w",) . showValue <$> (args !? #h_w :: Maybe [Int]),-               ("center_crop",) . showValue <$>-                 (args !? #center_crop :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Crop"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_Crop_upd ::-          forall args . Fullfilled "_Crop(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_Crop(ndarray)" args -> IO ()-_Crop_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("offset",) . showValue <$> (args !? #offset :: Maybe [Int]),-               ("h_w",) . showValue <$> (args !? #h_w :: Maybe [Int]),-               ("center_crop",) . showValue <$>-                 (args !? #center_crop :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Crop"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Crop(ndarray)" = '[]--_backward_Crop ::-               forall args . Fullfilled "_backward_Crop(ndarray)" args =>-                 ArgsHMap "_backward_Crop(ndarray)" args -> IO [NDArrayHandle]-_backward_Crop args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Crop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Crop_upd ::-                   forall args . Fullfilled "_backward_Crop(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_Crop(ndarray)" args -> IO ()-_backward_Crop_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Crop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_ROIPooling(ndarray)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float),-        '("data", AttrOpt NDArrayHandle), '("rois", AttrOpt NDArrayHandle)]--_ROIPooling ::-            forall args . Fullfilled "_ROIPooling(ndarray)" args =>-              ArgsHMap "_ROIPooling(ndarray)" args -> IO [NDArrayHandle]-_ROIPooling args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_ROIPooling_upd ::-                forall args . Fullfilled "_ROIPooling(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_ROIPooling(ndarray)" args -> IO ()-_ROIPooling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_ROIPooling(ndarray)" = '[]--_backward_ROIPooling ::-                     forall args . Fullfilled "_backward_ROIPooling(ndarray)" args =>-                       ArgsHMap "_backward_ROIPooling(ndarray)" args -> IO [NDArrayHandle]-_backward_ROIPooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_ROIPooling_upd ::-                         forall args . Fullfilled "_backward_ROIPooling(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_ROIPooling(ndarray)" args -> IO ()-_backward_ROIPooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SequenceLast(ndarray)" =-     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle),-        '("sequence_length", AttrOpt NDArrayHandle)]--_SequenceLast ::-              forall args . Fullfilled "_SequenceLast(ndarray)" args =>-                ArgsHMap "_SequenceLast(ndarray)" args -> IO [NDArrayHandle]-_SequenceLast args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SequenceLast_upd ::-                  forall args . Fullfilled "_SequenceLast(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_SequenceLast(ndarray)" args -> IO ()-_SequenceLast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SequenceLast(ndarray)" = '[]--_backward_SequenceLast ::-                       forall args . Fullfilled "_backward_SequenceLast(ndarray)" args =>-                         ArgsHMap "_backward_SequenceLast(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_SequenceLast args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SequenceLast_upd ::-                           forall args . Fullfilled "_backward_SequenceLast(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_SequenceLast(ndarray)" args -> IO ()-_backward_SequenceLast_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CrossDeviceCopy(ndarray)" = '[]--_CrossDeviceCopy ::-                 forall args . Fullfilled "_CrossDeviceCopy(ndarray)" args =>-                   ArgsHMap "_CrossDeviceCopy(ndarray)" args -> IO [NDArrayHandle]-_CrossDeviceCopy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CrossDeviceCopy_upd ::-                     forall args . Fullfilled "_CrossDeviceCopy(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_CrossDeviceCopy(ndarray)" args -> IO ()-_CrossDeviceCopy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__CrossDeviceCopy(ndarray)" =-     '[]--_backward__CrossDeviceCopy ::-                           forall args .-                             Fullfilled "_backward__CrossDeviceCopy(ndarray)" args =>-                             ArgsHMap "_backward__CrossDeviceCopy(ndarray)" args ->-                               IO [NDArrayHandle]-_backward__CrossDeviceCopy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__CrossDeviceCopy_upd ::-                               forall args .-                                 Fullfilled "_backward__CrossDeviceCopy(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_backward__CrossDeviceCopy(ndarray)" args -> IO ()-_backward__CrossDeviceCopy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SpatialTransformer(ndarray)" =-     '[ '("target_shape", AttrOpt [Int]),-        '("transform_type", AttrReq (EnumType '["affine"])),-        '("sampler_type", AttrReq (EnumType '["bilinear"])),-        '("cudnn_off", AttrOpt (Maybe Bool)),-        '("data", AttrOpt NDArrayHandle), '("loc", AttrOpt NDArrayHandle)]--_SpatialTransformer ::-                    forall args . Fullfilled "_SpatialTransformer(ndarray)" args =>-                      ArgsHMap "_SpatialTransformer(ndarray)" args -> IO [NDArrayHandle]-_SpatialTransformer args-  = let scalarArgs-          = catMaybes-              [("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine"])),-               ("sampler_type",) . showValue <$>-                 (args !? #sampler_type :: Maybe (EnumType '["bilinear"])),-               ("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("loc",) <$> (args !? #loc :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SpatialTransformer_upd ::-                        forall args . Fullfilled "_SpatialTransformer(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_SpatialTransformer(ndarray)" args -> IO ()-_SpatialTransformer_upd outputs args-  = let scalarArgs-          = catMaybes-              [("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine"])),-               ("sampler_type",) . showValue <$>-                 (args !? #sampler_type :: Maybe (EnumType '["bilinear"])),-               ("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("loc",) <$> (args !? #loc :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SpatialTransformer(ndarray)"-     = '[]--_backward_SpatialTransformer ::-                             forall args .-                               Fullfilled "_backward_SpatialTransformer(ndarray)" args =>-                               ArgsHMap "_backward_SpatialTransformer(ndarray)" args ->-                                 IO [NDArrayHandle]-_backward_SpatialTransformer args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SpatialTransformer_upd ::-                                 forall args .-                                   Fullfilled "_backward_SpatialTransformer(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_backward_SpatialTransformer(ndarray)" args -> IO ()-_backward_SpatialTransformer_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SwapAxis(ndarray)" = '[]--_backward_SwapAxis ::-                   forall args . Fullfilled "_backward_SwapAxis(ndarray)" args =>-                     ArgsHMap "_backward_SwapAxis(ndarray)" args -> IO [NDArrayHandle]-_backward_SwapAxis args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SwapAxis_upd ::-                       forall args . Fullfilled "_backward_SwapAxis(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_SwapAxis(ndarray)" args -> IO ()-_backward_SwapAxis_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_L2Normalization(ndarray)" =-     '[ '("eps", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["channel", "instance", "spatial"])),-        '("data", AttrOpt NDArrayHandle)]--_L2Normalization ::-                 forall args . Fullfilled "_L2Normalization(ndarray)" args =>-                   ArgsHMap "_L2Normalization(ndarray)" args -> IO [NDArrayHandle]-_L2Normalization args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["channel", "instance", "spatial"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_L2Normalization_upd ::-                     forall args . Fullfilled "_L2Normalization(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_L2Normalization(ndarray)" args -> IO ()-_L2Normalization_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["channel", "instance", "spatial"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_L2Normalization(ndarray)" =-     '[]--_backward_L2Normalization ::-                          forall args .-                            Fullfilled "_backward_L2Normalization(ndarray)" args =>-                            ArgsHMap "_backward_L2Normalization(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_L2Normalization args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_L2Normalization_upd ::-                              forall args .-                                Fullfilled "_backward_L2Normalization(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_L2Normalization(ndarray)" args -> IO ()-_backward_L2Normalization_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Correlation(ndarray)" =-     '[ '("kernel_size", AttrOpt Int),-        '("max_displacement", AttrOpt Int), '("stride1", AttrOpt Int),-        '("stride2", AttrOpt Int), '("pad_size", AttrOpt Int),-        '("is_multiply", AttrOpt Bool), '("data1", AttrOpt NDArrayHandle),-        '("data2", AttrOpt NDArrayHandle)]--_Correlation ::-             forall args . Fullfilled "_Correlation(ndarray)" args =>-               ArgsHMap "_Correlation(ndarray)" args -> IO [NDArrayHandle]-_Correlation args-  = let scalarArgs-          = catMaybes-              [("kernel_size",) . showValue <$>-                 (args !? #kernel_size :: Maybe Int),-               ("max_displacement",) . showValue <$>-                 (args !? #max_displacement :: Maybe Int),-               ("stride1",) . showValue <$> (args !? #stride1 :: Maybe Int),-               ("stride2",) . showValue <$> (args !? #stride2 :: Maybe Int),-               ("pad_size",) . showValue <$> (args !? #pad_size :: Maybe Int),-               ("is_multiply",) . showValue <$>-                 (args !? #is_multiply :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data1",) <$> (args !? #data1 :: Maybe NDArrayHandle),-               ("data2",) <$> (args !? #data2 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Correlation_upd ::-                 forall args . Fullfilled "_Correlation(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_Correlation(ndarray)" args -> IO ()-_Correlation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel_size",) . showValue <$>-                 (args !? #kernel_size :: Maybe Int),-               ("max_displacement",) . showValue <$>-                 (args !? #max_displacement :: Maybe Int),-               ("stride1",) . showValue <$> (args !? #stride1 :: Maybe Int),-               ("stride2",) . showValue <$> (args !? #stride2 :: Maybe Int),-               ("pad_size",) . showValue <$> (args !? #pad_size :: Maybe Int),-               ("is_multiply",) . showValue <$>-                 (args !? #is_multiply :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data1",) <$> (args !? #data1 :: Maybe NDArrayHandle),-               ("data2",) <$> (args !? #data2 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Correlation(ndarray)" = '[]--_backward_Correlation ::-                      forall args . Fullfilled "_backward_Correlation(ndarray)" args =>-                        ArgsHMap "_backward_Correlation(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_Correlation args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Correlation_upd ::-                          forall args . Fullfilled "_backward_Correlation(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_Correlation(ndarray)" args -> IO ()-_backward_Correlation_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_IdentityAttachKLSparseReg(ndarray)" = '[]--_backward_IdentityAttachKLSparseReg ::-                                    forall args .-                                      Fullfilled "_backward_IdentityAttachKLSparseReg(ndarray)"-                                        args =>-                                      ArgsHMap "_backward_IdentityAttachKLSparseReg(ndarray)" args-                                        -> IO [NDArrayHandle]-_backward_IdentityAttachKLSparseReg args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_IdentityAttachKLSparseReg_upd ::-                                        forall args .-                                          Fullfilled "_backward_IdentityAttachKLSparseReg(ndarray)"-                                            args =>-                                          [NDArrayHandle] ->-                                            ArgsHMap "_backward_IdentityAttachKLSparseReg(ndarray)"-                                              args-                                              -> IO ()-_backward_IdentityAttachKLSparseReg_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_MakeLoss(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("valid_thresh", AttrOpt Float),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("data", AttrOpt NDArrayHandle)]--_MakeLoss ::-          forall args . Fullfilled "_MakeLoss(ndarray)" args =>-            ArgsHMap "_MakeLoss(ndarray)" args -> IO [NDArrayHandle]-_MakeLoss args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_MakeLoss_upd ::-              forall args . Fullfilled "_MakeLoss(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_MakeLoss(ndarray)" args -> IO ()-_MakeLoss_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_MakeLoss(ndarray)" = '[]--_backward_MakeLoss ::-                   forall args . Fullfilled "_backward_MakeLoss(ndarray)" args =>-                     ArgsHMap "_backward_MakeLoss(ndarray)" args -> IO [NDArrayHandle]-_backward_MakeLoss args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_MakeLoss_upd ::-                       forall args . Fullfilled "_backward_MakeLoss(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_MakeLoss(ndarray)" args -> IO ()-_backward_MakeLoss_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SliceChannel(ndarray)" = '[]--_backward_SliceChannel ::-                       forall args . Fullfilled "_backward_SliceChannel(ndarray)" args =>-                         ArgsHMap "_backward_SliceChannel(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_SliceChannel args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SliceChannel_upd ::-                           forall args . Fullfilled "_backward_SliceChannel(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_SliceChannel(ndarray)" args -> IO ()-_backward_SliceChannel_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_RNN(ndarray)" =-     '[ '("state_size", AttrReq Int), '("num_layers", AttrReq Int),-        '("bidirectional", AttrOpt Bool),-        '("mode",-          AttrReq (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-        '("p", AttrOpt Float), '("state_outputs", AttrOpt Bool),-        '("projection_size", AttrOpt (Maybe Int)),-        '("lstm_state_clip_min", AttrOpt (Maybe Double)),-        '("lstm_state_clip_max", AttrOpt (Maybe Double)),-        '("lstm_state_clip_nan", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("parameters", AttrOpt NDArrayHandle),-        '("state", AttrOpt NDArrayHandle),-        '("state_cell", AttrOpt NDArrayHandle)]--_RNN ::-     forall args . Fullfilled "_RNN(ndarray)" args =>-       ArgsHMap "_RNN(ndarray)" args -> IO [NDArrayHandle]-_RNN args-  = let scalarArgs-          = catMaybes-              [("state_size",) . showValue <$>-                 (args !? #state_size :: Maybe Int),-               ("num_layers",) . showValue <$> (args !? #num_layers :: Maybe Int),-               ("bidirectional",) . showValue <$>-                 (args !? #bidirectional :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("state_outputs",) . showValue <$>-                 (args !? #state_outputs :: Maybe Bool),-               ("projection_size",) . showValue <$>-                 (args !? #projection_size :: Maybe (Maybe Int)),-               ("lstm_state_clip_min",) . showValue <$>-                 (args !? #lstm_state_clip_min :: Maybe (Maybe Double)),-               ("lstm_state_clip_max",) . showValue <$>-                 (args !? #lstm_state_clip_max :: Maybe (Maybe Double)),-               ("lstm_state_clip_nan",) . showValue <$>-                 (args !? #lstm_state_clip_nan :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("parameters",) <$> (args !? #parameters :: Maybe NDArrayHandle),-               ("state",) <$> (args !? #state :: Maybe NDArrayHandle),-               ("state_cell",) <$> (args !? #state_cell :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_RNN_upd ::-         forall args . Fullfilled "_RNN(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_RNN(ndarray)" args -> IO ()-_RNN_upd outputs args-  = let scalarArgs-          = catMaybes-              [("state_size",) . showValue <$>-                 (args !? #state_size :: Maybe Int),-               ("num_layers",) . showValue <$> (args !? #num_layers :: Maybe Int),-               ("bidirectional",) . showValue <$>-                 (args !? #bidirectional :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("state_outputs",) . showValue <$>-                 (args !? #state_outputs :: Maybe Bool),-               ("projection_size",) . showValue <$>-                 (args !? #projection_size :: Maybe (Maybe Int)),-               ("lstm_state_clip_min",) . showValue <$>-                 (args !? #lstm_state_clip_min :: Maybe (Maybe Double)),-               ("lstm_state_clip_max",) . showValue <$>-                 (args !? #lstm_state_clip_max :: Maybe (Maybe Double)),-               ("lstm_state_clip_nan",) . showValue <$>-                 (args !? #lstm_state_clip_nan :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("parameters",) <$> (args !? #parameters :: Maybe NDArrayHandle),-               ("state",) <$> (args !? #state :: Maybe NDArrayHandle),-               ("state_cell",) <$> (args !? #state_cell :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_RNN(ndarray)" = '[]--_backward_RNN ::-              forall args . Fullfilled "_backward_RNN(ndarray)" args =>-                ArgsHMap "_backward_RNN(ndarray)" args -> IO [NDArrayHandle]-_backward_RNN args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_RNN_upd ::-                  forall args . Fullfilled "_backward_RNN(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_RNN(ndarray)" args -> IO ()-_backward_RNN_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Pooling_v1(ndarray)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "max", "sum"])),-        '("global_pool", AttrOpt Bool),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--_Pooling_v1 ::-            forall args . Fullfilled "_Pooling_v1(ndarray)" args =>-              ArgsHMap "_Pooling_v1(ndarray)" args -> IO [NDArrayHandle]-_Pooling_v1 args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Pooling_v1_upd ::-                forall args . Fullfilled "_Pooling_v1(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_Pooling_v1(ndarray)" args -> IO ()-_Pooling_v1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Pooling_v1(ndarray)" = '[]--_backward_Pooling_v1 ::-                     forall args . Fullfilled "_backward_Pooling_v1(ndarray)" args =>-                       ArgsHMap "_backward_Pooling_v1(ndarray)" args -> IO [NDArrayHandle]-_backward_Pooling_v1 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Pooling_v1_upd ::-                         forall args . Fullfilled "_backward_Pooling_v1(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_Pooling_v1(ndarray)" args -> IO ()-_backward_Pooling_v1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_BatchNorm_v1(ndarray)" = '[]--_backward_BatchNorm_v1 ::-                       forall args . Fullfilled "_backward_BatchNorm_v1(ndarray)" args =>-                         ArgsHMap "_backward_BatchNorm_v1(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_BatchNorm_v1 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_BatchNorm_v1_upd ::-                           forall args . Fullfilled "_backward_BatchNorm_v1(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_BatchNorm_v1(ndarray)" args -> IO ()-_backward_BatchNorm_v1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SequenceMask(ndarray)" =-     '[ '("use_sequence_length", AttrOpt Bool),-        '("value", AttrOpt Float), '("axis", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle),-        '("sequence_length", AttrOpt NDArrayHandle)]--_SequenceMask ::-              forall args . Fullfilled "_SequenceMask(ndarray)" args =>-                ArgsHMap "_SequenceMask(ndarray)" args -> IO [NDArrayHandle]-_SequenceMask args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("value",) . showValue <$> (args !? #value :: Maybe Float),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SequenceMask_upd ::-                  forall args . Fullfilled "_SequenceMask(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_SequenceMask(ndarray)" args -> IO ()-_SequenceMask_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("value",) . showValue <$> (args !? #value :: Maybe Float),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SequenceMask(ndarray)" = '[]--_backward_SequenceMask ::-                       forall args . Fullfilled "_backward_SequenceMask(ndarray)" args =>-                         ArgsHMap "_backward_SequenceMask(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_SequenceMask args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SequenceMask_upd ::-                           forall args . Fullfilled "_backward_SequenceMask(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_SequenceMask(ndarray)" args -> IO ()-_backward_SequenceMask_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_set_value(ndarray)" =-     '[ '("src", AttrOpt Float)]--_set_value ::-           forall args . Fullfilled "_set_value(ndarray)" args =>-             ArgsHMap "_set_value(ndarray)" args -> IO [NDArrayHandle]-_set_value args-  = let scalarArgs-          = catMaybes-              [("src",) . showValue <$> (args !? #src :: Maybe Float)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_set_value"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_set_value_upd ::-               forall args . Fullfilled "_set_value(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_set_value(ndarray)" args -> IO ()-_set_value_upd outputs args-  = let scalarArgs-          = catMaybes-              [("src",) . showValue <$> (args !? #src :: Maybe Float)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_set_value"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_onehot_encode(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_onehot_encode ::-               forall args . Fullfilled "_onehot_encode(ndarray)" args =>-                 ArgsHMap "_onehot_encode(ndarray)" args -> IO [NDArrayHandle]-_onehot_encode args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_onehot_encode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_onehot_encode_upd ::-                   forall args . Fullfilled "_onehot_encode(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_onehot_encode(ndarray)" args -> IO ()-_onehot_encode_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_onehot_encode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "choose_element_0index(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--choose_element_0index ::-                      forall args . Fullfilled "choose_element_0index(ndarray)" args =>-                        ArgsHMap "choose_element_0index(ndarray)" args ->-                          IO [NDArrayHandle]-choose_element_0index args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "choose_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--choose_element_0index_upd ::-                          forall args . Fullfilled "choose_element_0index(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "choose_element_0index(ndarray)" args -> IO ()-choose_element_0index_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "choose_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "fill_element_0index(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("mhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--fill_element_0index ::-                    forall args . Fullfilled "fill_element_0index(ndarray)" args =>-                      ArgsHMap "fill_element_0index(ndarray)" args -> IO [NDArrayHandle]-fill_element_0index args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("mhs",) <$> (args !? #mhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fill_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--fill_element_0index_upd ::-                        forall args . Fullfilled "fill_element_0index(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "fill_element_0index(ndarray)" args -> IO ()-fill_element_0index_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("mhs",) <$> (args !? #mhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fill_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_imdecode(ndarray)" =-     '[ '("index", AttrOpt Int), '("x0", AttrOpt Int),-        '("y0", AttrOpt Int), '("x1", AttrOpt Int), '("y1", AttrOpt Int),-        '("c", AttrOpt Int), '("size", AttrOpt Int),-        '("mean", AttrOpt NDArrayHandle)]--_imdecode ::-          forall args . Fullfilled "_imdecode(ndarray)" args =>-            ArgsHMap "_imdecode(ndarray)" args -> IO [NDArrayHandle]-_imdecode args-  = let scalarArgs-          = catMaybes-              [("index",) . showValue <$> (args !? #index :: Maybe Int),-               ("x0",) . showValue <$> (args !? #x0 :: Maybe Int),-               ("y0",) . showValue <$> (args !? #y0 :: Maybe Int),-               ("x1",) . showValue <$> (args !? #x1 :: Maybe Int),-               ("y1",) . showValue <$> (args !? #y1 :: Maybe Int),-               ("c",) . showValue <$> (args !? #c :: Maybe Int),-               ("size",) . showValue <$> (args !? #size :: Maybe Int)]-        tensorArgs-          = catMaybes [("mean",) <$> (args !? #mean :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_imdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_imdecode_upd ::-              forall args . Fullfilled "_imdecode(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_imdecode(ndarray)" args -> IO ()-_imdecode_upd outputs args-  = let scalarArgs-          = catMaybes-              [("index",) . showValue <$> (args !? #index :: Maybe Int),-               ("x0",) . showValue <$> (args !? #x0 :: Maybe Int),-               ("y0",) . showValue <$> (args !? #y0 :: Maybe Int),-               ("x1",) . showValue <$> (args !? #x1 :: Maybe Int),-               ("y1",) . showValue <$> (args !? #y1 :: Maybe Int),-               ("c",) . showValue <$> (args !? #c :: Maybe Int),-               ("size",) . showValue <$> (args !? #size :: Maybe Int)]-        tensorArgs-          = catMaybes [("mean",) <$> (args !? #mean :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_imdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()
− ops/1.4/MXNet/Base/Operators/Symbol.hs
@@ -1,12038 +0,0 @@-module MXNet.Base.Operators.Symbol where-import MXNet.Base.Raw-import MXNet.Base.Spec.Operator-import MXNet.Base.Spec.HMap-import Data.Maybe (catMaybes, fromMaybe)--type instance ParameterList "_CuDNNBatchNorm(symbol)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle),-        '("moving_mean", AttrOpt SymbolHandle),-        '("moving_var", AttrOpt SymbolHandle)]--_CuDNNBatchNorm ::-                forall args . Fullfilled "_CuDNNBatchNorm(symbol)" args =>-                  String ->-                    ArgsHMap "_CuDNNBatchNorm(symbol)" args -> IO SymbolHandle-_CuDNNBatchNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe SymbolHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CuDNNBatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_CuDNNBatchNorm(symbol)" =-     '[]--_backward_CuDNNBatchNorm ::-                         forall args . Fullfilled "_backward_CuDNNBatchNorm(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_CuDNNBatchNorm(symbol)" args -> IO SymbolHandle-_backward_CuDNNBatchNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CuDNNBatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_multinomial(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("get_prob", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt SymbolHandle)]--_sample_multinomial ::-                    forall args . Fullfilled "_sample_multinomial(symbol)" args =>-                      String ->-                        ArgsHMap "_sample_multinomial(symbol)" args -> IO SymbolHandle-_sample_multinomial name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("get_prob",) . showValue <$> (args !? #get_prob :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_multinomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sample_multinomial(symbol)"-     = '[]--_backward_sample_multinomial ::-                             forall args .-                               Fullfilled "_backward_sample_multinomial(symbol)" args =>-                               String ->-                                 ArgsHMap "_backward_sample_multinomial(symbol)" args ->-                                   IO SymbolHandle-_backward_sample_multinomial name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sample_multinomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_uniform(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("low", AttrOpt SymbolHandle), '("high", AttrOpt SymbolHandle)]--_sample_uniform ::-                forall args . Fullfilled "_sample_uniform(symbol)" args =>-                  String ->-                    ArgsHMap "_sample_uniform(symbol)" args -> IO SymbolHandle-_sample_uniform name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("low",) <$> (args !? #low :: Maybe SymbolHandle),-               ("high",) <$> (args !? #high :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_uniform"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_normal(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt SymbolHandle), '("sigma", AttrOpt SymbolHandle)]--_sample_normal ::-               forall args . Fullfilled "_sample_normal(symbol)" args =>-                 String -> ArgsHMap "_sample_normal(symbol)" args -> IO SymbolHandle-_sample_normal name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe SymbolHandle),-               ("sigma",) <$> (args !? #sigma :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_normal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_gamma(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("alpha", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle)]--_sample_gamma ::-              forall args . Fullfilled "_sample_gamma(symbol)" args =>-                String -> ArgsHMap "_sample_gamma(symbol)" args -> IO SymbolHandle-_sample_gamma name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("alpha",) <$> (args !? #alpha :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_exponential(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt SymbolHandle)]--_sample_exponential ::-                    forall args . Fullfilled "_sample_exponential(symbol)" args =>-                      String ->-                        ArgsHMap "_sample_exponential(symbol)" args -> IO SymbolHandle-_sample_exponential name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_exponential"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_poisson(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt SymbolHandle)]--_sample_poisson ::-                forall args . Fullfilled "_sample_poisson(symbol)" args =>-                  String ->-                    ArgsHMap "_sample_poisson(symbol)" args -> IO SymbolHandle-_sample_poisson name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_poisson"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_negative_binomial(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("k", AttrOpt SymbolHandle), '("p", AttrOpt SymbolHandle)]--_sample_negative_binomial ::-                          forall args .-                            Fullfilled "_sample_negative_binomial(symbol)" args =>-                            String ->-                              ArgsHMap "_sample_negative_binomial(symbol)" args ->-                                IO SymbolHandle-_sample_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("k",) <$> (args !? #k :: Maybe SymbolHandle),-               ("p",) <$> (args !? #p :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_sample_generalized_negative_binomial(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt SymbolHandle), '("alpha", AttrOpt SymbolHandle)]--_sample_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_sample_generalized_negative_binomial(symbol)"-                                          args =>-                                        String ->-                                          ArgsHMap "_sample_generalized_negative_binomial(symbol)"-                                            args-                                            -> IO SymbolHandle-_sample_generalized_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe SymbolHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_generalized_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_unique_zipfian(symbol)" =-     '[ '("range_max", AttrReq Int), '("shape", AttrOpt [Int])]--_sample_unique_zipfian ::-                       forall args . Fullfilled "_sample_unique_zipfian(symbol)" args =>-                         String ->-                           ArgsHMap "_sample_unique_zipfian(symbol)" args -> IO SymbolHandle-_sample_unique_zipfian name args-  = let scalarArgs-          = catMaybes-              [("range_max",) . showValue <$> (args !? #range_max :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_unique_zipfian"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_uniform(symbol)" =-     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_uniform ::-                forall args . Fullfilled "_random_uniform(symbol)" args =>-                  String ->-                    ArgsHMap "_random_uniform(symbol)" args -> IO SymbolHandle-_random_uniform name args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_normal(symbol)" =-     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_normal ::-               forall args . Fullfilled "_random_normal(symbol)" args =>-                 String -> ArgsHMap "_random_normal(symbol)" args -> IO SymbolHandle-_random_normal name args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_gamma(symbol)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_gamma ::-              forall args . Fullfilled "_random_gamma(symbol)" args =>-                String -> ArgsHMap "_random_gamma(symbol)" args -> IO SymbolHandle-_random_gamma name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_exponential(symbol)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_exponential ::-                    forall args . Fullfilled "_random_exponential(symbol)" args =>-                      String ->-                        ArgsHMap "_random_exponential(symbol)" args -> IO SymbolHandle-_random_exponential name args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_poisson(symbol)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_poisson ::-                forall args . Fullfilled "_random_poisson(symbol)" args =>-                  String ->-                    ArgsHMap "_random_poisson(symbol)" args -> IO SymbolHandle-_random_poisson name args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_negative_binomial(symbol)" =-     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_negative_binomial ::-                          forall args .-                            Fullfilled "_random_negative_binomial(symbol)" args =>-                            String ->-                              ArgsHMap "_random_negative_binomial(symbol)" args ->-                                IO SymbolHandle-_random_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_random_generalized_negative_binomial(symbol)" =-     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_random_generalized_negative_binomial(symbol)"-                                          args =>-                                        String ->-                                          ArgsHMap "_random_generalized_negative_binomial(symbol)"-                                            args-                                            -> IO SymbolHandle-_random_generalized_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_randint(symbol)" =-     '[ '("low", AttrReq Int), '("high", AttrReq Int),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype", AttrOpt (EnumType '["None", "int32", "int64"]))]--_random_randint ::-                forall args . Fullfilled "_random_randint(symbol)" args =>-                  String ->-                    ArgsHMap "_random_randint(symbol)" args -> IO SymbolHandle-_random_randint name args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Int),-               ("high",) . showValue <$> (args !? #high :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype :: Maybe (EnumType '["None", "int32", "int64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_randint"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_uniform_like(symbol)" =-     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_random_uniform_like ::-                     forall args . Fullfilled "_random_uniform_like(symbol)" args =>-                       String ->-                         ArgsHMap "_random_uniform_like(symbol)" args -> IO SymbolHandle-_random_uniform_like name args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_normal_like(symbol)" =-     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_random_normal_like ::-                    forall args . Fullfilled "_random_normal_like(symbol)" args =>-                      String ->-                        ArgsHMap "_random_normal_like(symbol)" args -> IO SymbolHandle-_random_normal_like name args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_gamma_like(symbol)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_random_gamma_like ::-                   forall args . Fullfilled "_random_gamma_like(symbol)" args =>-                     String ->-                       ArgsHMap "_random_gamma_like(symbol)" args -> IO SymbolHandle-_random_gamma_like name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_exponential_like(symbol)" =-     '[ '("lam", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_random_exponential_like ::-                         forall args . Fullfilled "_random_exponential_like(symbol)" args =>-                           String ->-                             ArgsHMap "_random_exponential_like(symbol)" args -> IO SymbolHandle-_random_exponential_like name args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_poisson_like(symbol)" =-     '[ '("lam", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_random_poisson_like ::-                     forall args . Fullfilled "_random_poisson_like(symbol)" args =>-                       String ->-                         ArgsHMap "_random_poisson_like(symbol)" args -> IO SymbolHandle-_random_poisson_like name args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_random_negative_binomial_like(symbol)" =-     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_random_negative_binomial_like ::-                               forall args .-                                 Fullfilled "_random_negative_binomial_like(symbol)" args =>-                                 String ->-                                   ArgsHMap "_random_negative_binomial_like(symbol)" args ->-                                     IO SymbolHandle-_random_negative_binomial_like name args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_random_generalized_negative_binomial_like(symbol)"-     =-     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_random_generalized_negative_binomial_like ::-                                           forall args .-                                             Fullfilled-                                               "_random_generalized_negative_binomial_like(symbol)"-                                               args =>-                                             String ->-                                               ArgsHMap-                                                 "_random_generalized_negative_binomial_like(symbol)"-                                                 args-                                                 -> IO SymbolHandle-_random_generalized_negative_binomial_like name args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_shuffle(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_shuffle ::-         forall args . Fullfilled "_shuffle(symbol)" args =>-           String -> ArgsHMap "_shuffle(symbol)" args -> IO SymbolHandle-_shuffle name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_shuffle"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Custom(symbol)" =-     '[ '("op_type", AttrOpt String), '("data", AttrOpt [SymbolHandle])]--_Custom ::-        forall args .-          (Fullfilled "_Custom(symbol)" args,-           PopKey (ArgOf "_Custom(symbol)") args "data",-           Dump (PopResult (ArgOf "_Custom(symbol)") args "data")) =>-          String -> ArgsHMap "_Custom(symbol)" args -> IO SymbolHandle-_Custom name args-  = let scalarArgs = dump (pop args #data)-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "Custom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_Custom(symbol)" = '[]--_backward_Custom ::-                 forall args . Fullfilled "_backward_Custom(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_Custom(symbol)" args -> IO SymbolHandle-_backward_Custom name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Custom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_power(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_power ::-                forall args . Fullfilled "broadcast_power(symbol)" args =>-                  String ->-                    ArgsHMap "broadcast_power(symbol)" args -> IO SymbolHandle-broadcast_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_power(symbol)" =-     '[]--_backward_broadcast_power ::-                          forall args .-                            Fullfilled "_backward_broadcast_power(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_broadcast_power(symbol)" args ->-                                IO SymbolHandle-_backward_broadcast_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_maximum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_maximum ::-                  forall args . Fullfilled "broadcast_maximum(symbol)" args =>-                    String ->-                      ArgsHMap "broadcast_maximum(symbol)" args -> IO SymbolHandle-broadcast_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_maximum(symbol)" =-     '[]--_backward_broadcast_maximum ::-                            forall args .-                              Fullfilled "_backward_broadcast_maximum(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_broadcast_maximum(symbol)" args ->-                                  IO SymbolHandle-_backward_broadcast_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_minimum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_minimum ::-                  forall args . Fullfilled "broadcast_minimum(symbol)" args =>-                    String ->-                      ArgsHMap "broadcast_minimum(symbol)" args -> IO SymbolHandle-broadcast_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_minimum(symbol)" =-     '[]--_backward_broadcast_minimum ::-                            forall args .-                              Fullfilled "_backward_broadcast_minimum(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_broadcast_minimum(symbol)" args ->-                                  IO SymbolHandle-_backward_broadcast_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_hypot(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_hypot ::-                forall args . Fullfilled "broadcast_hypot(symbol)" args =>-                  String ->-                    ArgsHMap "broadcast_hypot(symbol)" args -> IO SymbolHandle-broadcast_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_hypot(symbol)" =-     '[]--_backward_broadcast_hypot ::-                          forall args .-                            Fullfilled "_backward_broadcast_hypot(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_broadcast_hypot(symbol)" args ->-                                IO SymbolHandle-_backward_broadcast_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_equal ::-       forall args . Fullfilled "_equal(symbol)" args =>-         String -> ArgsHMap "_equal(symbol)" args -> IO SymbolHandle-_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_not_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_not_equal ::-           forall args . Fullfilled "_not_equal(symbol)" args =>-             String -> ArgsHMap "_not_equal(symbol)" args -> IO SymbolHandle-_not_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_greater ::-         forall args . Fullfilled "_greater(symbol)" args =>-           String -> ArgsHMap "_greater(symbol)" args -> IO SymbolHandle-_greater name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_greater_equal ::-               forall args . Fullfilled "_greater_equal(symbol)" args =>-                 String -> ArgsHMap "_greater_equal(symbol)" args -> IO SymbolHandle-_greater_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_lesser ::-        forall args . Fullfilled "_lesser(symbol)" args =>-          String -> ArgsHMap "_lesser(symbol)" args -> IO SymbolHandle-_lesser name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_lesser_equal ::-              forall args . Fullfilled "_lesser_equal(symbol)" args =>-                String -> ArgsHMap "_lesser_equal(symbol)" args -> IO SymbolHandle-_lesser_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_and(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_logical_and ::-             forall args . Fullfilled "_logical_and(symbol)" args =>-               String -> ArgsHMap "_logical_and(symbol)" args -> IO SymbolHandle-_logical_and name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_or(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_logical_or ::-            forall args . Fullfilled "_logical_or(symbol)" args =>-              String -> ArgsHMap "_logical_or(symbol)" args -> IO SymbolHandle-_logical_or name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_xor(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_logical_xor ::-             forall args . Fullfilled "_logical_xor(symbol)" args =>-               String -> ArgsHMap "_logical_xor(symbol)" args -> IO SymbolHandle-_logical_xor name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_power(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_power ::-       forall args . Fullfilled "_power(symbol)" args =>-         String -> ArgsHMap "_power(symbol)" args -> IO SymbolHandle-_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_power(symbol)" = '[]--_backward_power ::-                forall args . Fullfilled "_backward_power(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_power(symbol)" args -> IO SymbolHandle-_backward_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_maximum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_maximum ::-         forall args . Fullfilled "_maximum(symbol)" args =>-           String -> ArgsHMap "_maximum(symbol)" args -> IO SymbolHandle-_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_maximum(symbol)" = '[]--_backward_maximum ::-                  forall args . Fullfilled "_backward_maximum(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_maximum(symbol)" args -> IO SymbolHandle-_backward_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_minimum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_minimum ::-         forall args . Fullfilled "_minimum(symbol)" args =>-           String -> ArgsHMap "_minimum(symbol)" args -> IO SymbolHandle-_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_minimum(symbol)" = '[]--_backward_minimum ::-                  forall args . Fullfilled "_backward_minimum(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_minimum(symbol)" args -> IO SymbolHandle-_backward_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_hypot(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_hypot ::-       forall args . Fullfilled "_hypot(symbol)" args =>-         String -> ArgsHMap "_hypot(symbol)" args -> IO SymbolHandle-_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_hypot(symbol)" = '[]--_backward_hypot ::-                forall args . Fullfilled "_backward_hypot(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_hypot(symbol)" args -> IO SymbolHandle-_backward_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_square_sum(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--_square_sum ::-            forall args . Fullfilled "_square_sum(symbol)" args =>-              String -> ArgsHMap "_square_sum(symbol)" args -> IO SymbolHandle-_square_sum name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_square_sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_square_sum(symbol)" = '[]--_backward_square_sum ::-                     forall args . Fullfilled "_backward_square_sum(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_square_sum(symbol)" args -> IO SymbolHandle-_backward_square_sum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square_sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "add_n(symbol)" =-     '[ '("args", AttrOpt [SymbolHandle])]--add_n ::-      forall args . Fullfilled "add_n(symbol)" args =>-        String -> ArgsHMap "add_n(symbol)" args -> IO SymbolHandle-add_n name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "add_n"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_zeros_without_dtype(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype", AttrOpt Int)]--_zeros_without_dtype ::-                     forall args . Fullfilled "_zeros_without_dtype(symbol)" args =>-                       String ->-                         ArgsHMap "_zeros_without_dtype(symbol)" args -> IO SymbolHandle-_zeros_without_dtype name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$> (args !? #dtype :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros_without_dtype"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_zeros(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_zeros ::-       forall args . Fullfilled "_zeros(symbol)" args =>-         String -> ArgsHMap "_zeros(symbol)" args -> IO SymbolHandle-_zeros name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_eye(symbol)" =-     '[ '("_N", AttrReq Int), '("_M", AttrOpt Int), '("k", AttrOpt Int),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_eye ::-     forall args . Fullfilled "_eye(symbol)" args =>-       String -> ArgsHMap "_eye(symbol)" args -> IO SymbolHandle-_eye name args-  = let scalarArgs-          = catMaybes-              [("_N",) . showValue <$> (args !? #_N :: Maybe Int),-               ("_M",) . showValue <$> (args !? #_M :: Maybe Int),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_eye"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_ones(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_ones ::-      forall args . Fullfilled "_ones(symbol)" args =>-        String -> ArgsHMap "_ones(symbol)" args -> IO SymbolHandle-_ones name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ones"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_full(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("value", AttrReq Double)]--_full ::-      forall args . Fullfilled "_full(symbol)" args =>-        String -> ArgsHMap "_full(symbol)" args -> IO SymbolHandle-_full name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("value",) . showValue <$> (args !? #value :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_full"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_arange(symbol)" =-     '[ '("start", AttrReq Double), '("stop", AttrOpt (Maybe Double)),-        '("step", AttrOpt Double), '("repeat", AttrOpt Int),-        '("infer_range", AttrOpt Bool), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_arange ::-        forall args . Fullfilled "_arange(symbol)" args =>-          String -> ArgsHMap "_arange(symbol)" args -> IO SymbolHandle-_arange name args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("infer_range",) . showValue <$>-                 (args !? #infer_range :: Maybe Bool),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_arange"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "zeros_like(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--zeros_like ::-           forall args . Fullfilled "zeros_like(symbol)" args =>-             String -> ArgsHMap "zeros_like(symbol)" args -> IO SymbolHandle-zeros_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "zeros_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ones_like(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--ones_like ::-          forall args . Fullfilled "ones_like(symbol)" args =>-            String -> ArgsHMap "ones_like(symbol)" args -> IO SymbolHandle-ones_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ones_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_add(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_add ::-              forall args . Fullfilled "broadcast_add(symbol)" args =>-                String -> ArgsHMap "broadcast_add(symbol)" args -> IO SymbolHandle-broadcast_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_add(symbol)" = '[]--_backward_broadcast_add ::-                        forall args . Fullfilled "_backward_broadcast_add(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_add(symbol)" args -> IO SymbolHandle-_backward_broadcast_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_sub(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_sub ::-              forall args . Fullfilled "broadcast_sub(symbol)" args =>-                String -> ArgsHMap "broadcast_sub(symbol)" args -> IO SymbolHandle-broadcast_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_sub(symbol)" = '[]--_backward_broadcast_sub ::-                        forall args . Fullfilled "_backward_broadcast_sub(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_sub(symbol)" args -> IO SymbolHandle-_backward_broadcast_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_mul(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_mul ::-              forall args . Fullfilled "broadcast_mul(symbol)" args =>-                String -> ArgsHMap "broadcast_mul(symbol)" args -> IO SymbolHandle-broadcast_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_mul(symbol)" = '[]--_backward_broadcast_mul ::-                        forall args . Fullfilled "_backward_broadcast_mul(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_mul(symbol)" args -> IO SymbolHandle-_backward_broadcast_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_div(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_div ::-              forall args . Fullfilled "broadcast_div(symbol)" args =>-                String -> ArgsHMap "broadcast_div(symbol)" args -> IO SymbolHandle-broadcast_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_div(symbol)" = '[]--_backward_broadcast_div ::-                        forall args . Fullfilled "_backward_broadcast_div(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_div(symbol)" args -> IO SymbolHandle-_backward_broadcast_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_mod(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_mod ::-              forall args . Fullfilled "broadcast_mod(symbol)" args =>-                String -> ArgsHMap "broadcast_mod(symbol)" args -> IO SymbolHandle-broadcast_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_mod(symbol)" = '[]--_backward_broadcast_mod ::-                        forall args . Fullfilled "_backward_broadcast_mod(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_mod(symbol)" args -> IO SymbolHandle-_backward_broadcast_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_gemm(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("beta", AttrOpt Double),-        '("axis", AttrOpt Int), '("_A", AttrOpt SymbolHandle),-        '("_B", AttrOpt SymbolHandle), '("_C", AttrOpt SymbolHandle)]--_linalg_gemm ::-             forall args . Fullfilled "_linalg_gemm(symbol)" args =>-               String -> ArgsHMap "_linalg_gemm(symbol)" args -> IO SymbolHandle-_linalg_gemm name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle),-               ("_C",) <$> (args !? #_C :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_gemm(symbol)" = '[]--_backward_linalg_gemm ::-                      forall args . Fullfilled "_backward_linalg_gemm(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_gemm(symbol)" args -> IO SymbolHandle-_backward_linalg_gemm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_gemm2(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("axis", AttrOpt Int),-        '("_A", AttrOpt SymbolHandle), '("_B", AttrOpt SymbolHandle)]--_linalg_gemm2 ::-              forall args . Fullfilled "_linalg_gemm2(symbol)" args =>-                String -> ArgsHMap "_linalg_gemm2(symbol)" args -> IO SymbolHandle-_linalg_gemm2 name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_gemm2(symbol)" = '[]--_backward_linalg_gemm2 ::-                       forall args . Fullfilled "_backward_linalg_gemm2(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_gemm2(symbol)" args -> IO SymbolHandle-_backward_linalg_gemm2 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_potrf(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_potrf ::-              forall args . Fullfilled "_linalg_potrf(symbol)" args =>-                String -> ArgsHMap "_linalg_potrf(symbol)" args -> IO SymbolHandle-_linalg_potrf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potrf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_potrf(symbol)" = '[]--_backward_linalg_potrf ::-                       forall args . Fullfilled "_backward_linalg_potrf(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_potrf(symbol)" args -> IO SymbolHandle-_backward_linalg_potrf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potrf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_potri(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_potri ::-              forall args . Fullfilled "_linalg_potri(symbol)" args =>-                String -> ArgsHMap "_linalg_potri(symbol)" args -> IO SymbolHandle-_linalg_potri name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potri"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_potri(symbol)" = '[]--_backward_linalg_potri ::-                       forall args . Fullfilled "_backward_linalg_potri(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_potri(symbol)" args -> IO SymbolHandle-_backward_linalg_potri name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potri"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_trmm(symbol)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("lower", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt SymbolHandle), '("_B", AttrOpt SymbolHandle)]--_linalg_trmm ::-             forall args . Fullfilled "_linalg_trmm(symbol)" args =>-               String -> ArgsHMap "_linalg_trmm(symbol)" args -> IO SymbolHandle-_linalg_trmm name args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trmm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_trmm(symbol)" = '[]--_backward_linalg_trmm ::-                      forall args . Fullfilled "_backward_linalg_trmm(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_trmm(symbol)" args -> IO SymbolHandle-_backward_linalg_trmm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trmm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_trsm(symbol)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("lower", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt SymbolHandle), '("_B", AttrOpt SymbolHandle)]--_linalg_trsm ::-             forall args . Fullfilled "_linalg_trsm(symbol)" args =>-               String -> ArgsHMap "_linalg_trsm(symbol)" args -> IO SymbolHandle-_linalg_trsm name args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trsm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_trsm(symbol)" = '[]--_backward_linalg_trsm ::-                      forall args . Fullfilled "_backward_linalg_trsm(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_trsm(symbol)" args -> IO SymbolHandle-_backward_linalg_trsm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trsm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_sumlogdiag(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_sumlogdiag ::-                   forall args . Fullfilled "_linalg_sumlogdiag(symbol)" args =>-                     String ->-                       ArgsHMap "_linalg_sumlogdiag(symbol)" args -> IO SymbolHandle-_linalg_sumlogdiag name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_sumlogdiag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_sumlogdiag(symbol)" =-     '[]--_backward_linalg_sumlogdiag ::-                            forall args .-                              Fullfilled "_backward_linalg_sumlogdiag(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_linalg_sumlogdiag(symbol)" args ->-                                  IO SymbolHandle-_backward_linalg_sumlogdiag name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_sumlogdiag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_syrk(symbol)" =-     '[ '("transpose", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt SymbolHandle)]--_linalg_syrk ::-             forall args . Fullfilled "_linalg_syrk(symbol)" args =>-               String -> ArgsHMap "_linalg_syrk(symbol)" args -> IO SymbolHandle-_linalg_syrk name args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syrk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_syrk(symbol)" = '[]--_backward_linalg_syrk ::-                      forall args . Fullfilled "_backward_linalg_syrk(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_syrk(symbol)" args -> IO SymbolHandle-_backward_linalg_syrk name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syrk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_gelqf(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_gelqf ::-              forall args . Fullfilled "_linalg_gelqf(symbol)" args =>-                String -> ArgsHMap "_linalg_gelqf(symbol)" args -> IO SymbolHandle-_linalg_gelqf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gelqf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_gelqf(symbol)" = '[]--_backward_linalg_gelqf ::-                       forall args . Fullfilled "_backward_linalg_gelqf(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_gelqf(symbol)" args -> IO SymbolHandle-_backward_linalg_gelqf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gelqf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_syevd(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_syevd ::-              forall args . Fullfilled "_linalg_syevd(symbol)" args =>-                String -> ArgsHMap "_linalg_syevd(symbol)" args -> IO SymbolHandle-_linalg_syevd name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syevd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_syevd(symbol)" = '[]--_backward_linalg_syevd ::-                       forall args . Fullfilled "_backward_linalg_syevd(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_syevd(symbol)" args -> IO SymbolHandle-_backward_linalg_syevd name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syevd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_histogram(symbol)" =-     '[ '("bin_cnt", AttrOpt (Maybe Int)), '("range", AttrOpt Int),-        '("data", AttrOpt SymbolHandle), '("bins", AttrOpt SymbolHandle)]--_histogram ::-           forall args . Fullfilled "_histogram(symbol)" args =>-             String -> ArgsHMap "_histogram(symbol)" args -> IO SymbolHandle-_histogram name args-  = let scalarArgs-          = catMaybes-              [("bin_cnt",) . showValue <$>-                 (args !? #bin_cnt :: Maybe (Maybe Int)),-               ("range",) . showValue <$> (args !? #range :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("bins",) <$> (args !? #bins :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_histogram"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cast_storage(symbol)" =-     '[ '("stype",-          AttrReq (EnumType '["csr", "default", "row_sparse"])),-        '("data", AttrOpt SymbolHandle)]--cast_storage ::-             forall args . Fullfilled "cast_storage(symbol)" args =>-               String -> ArgsHMap "cast_storage(symbol)" args -> IO SymbolHandle-cast_storage name args-  = let scalarArgs-          = catMaybes-              [("stype",) . showValue <$>-                 (args !? #stype ::-                    Maybe (EnumType '["csr", "default", "row_sparse"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cast_storage"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_equal_scalar ::-              forall args . Fullfilled "_equal_scalar(symbol)" args =>-                String -> ArgsHMap "_equal_scalar(symbol)" args -> IO SymbolHandle-_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_not_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_not_equal_scalar ::-                  forall args . Fullfilled "_not_equal_scalar(symbol)" args =>-                    String ->-                      ArgsHMap "_not_equal_scalar(symbol)" args -> IO SymbolHandle-_not_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_greater_scalar ::-                forall args . Fullfilled "_greater_scalar(symbol)" args =>-                  String ->-                    ArgsHMap "_greater_scalar(symbol)" args -> IO SymbolHandle-_greater_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_greater_equal_scalar ::-                      forall args . Fullfilled "_greater_equal_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_greater_equal_scalar(symbol)" args -> IO SymbolHandle-_greater_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_lesser_scalar ::-               forall args . Fullfilled "_lesser_scalar(symbol)" args =>-                 String -> ArgsHMap "_lesser_scalar(symbol)" args -> IO SymbolHandle-_lesser_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_lesser_equal_scalar ::-                     forall args . Fullfilled "_lesser_equal_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_lesser_equal_scalar(symbol)" args -> IO SymbolHandle-_lesser_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_and_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_logical_and_scalar ::-                    forall args . Fullfilled "_logical_and_scalar(symbol)" args =>-                      String ->-                        ArgsHMap "_logical_and_scalar(symbol)" args -> IO SymbolHandle-_logical_and_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_or_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_logical_or_scalar ::-                   forall args . Fullfilled "_logical_or_scalar(symbol)" args =>-                     String ->-                       ArgsHMap "_logical_or_scalar(symbol)" args -> IO SymbolHandle-_logical_or_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_xor_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_logical_xor_scalar ::-                    forall args . Fullfilled "_logical_xor_scalar(symbol)" args =>-                      String ->-                        ArgsHMap "_logical_xor_scalar(symbol)" args -> IO SymbolHandle-_logical_xor_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "relu(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--relu ::-     forall args . Fullfilled "relu(symbol)" args =>-       String -> ArgsHMap "relu(symbol)" args -> IO SymbolHandle-relu name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "relu"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_relu(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_relu ::-               forall args . Fullfilled "_backward_relu(symbol)" args =>-                 String -> ArgsHMap "_backward_relu(symbol)" args -> IO SymbolHandle-_backward_relu name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_relu"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sigmoid(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sigmoid ::-        forall args . Fullfilled "sigmoid(symbol)" args =>-          String -> ArgsHMap "sigmoid(symbol)" args -> IO SymbolHandle-sigmoid name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sigmoid(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sigmoid ::-                  forall args . Fullfilled "_backward_sigmoid(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_sigmoid(symbol)" args -> IO SymbolHandle-_backward_sigmoid name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "hard_sigmoid(symbol)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--hard_sigmoid ::-             forall args . Fullfilled "hard_sigmoid(symbol)" args =>-               String -> ArgsHMap "hard_sigmoid(symbol)" args -> IO SymbolHandle-hard_sigmoid name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "hard_sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_hard_sigmoid(symbol)" = '[]--_backward_hard_sigmoid ::-                       forall args . Fullfilled "_backward_hard_sigmoid(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_hard_sigmoid(symbol)" args -> IO SymbolHandle-_backward_hard_sigmoid name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hard_sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "softsign(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--softsign ::-         forall args . Fullfilled "softsign(symbol)" args =>-           String -> ArgsHMap "softsign(symbol)" args -> IO SymbolHandle-softsign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softsign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_softsign(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_softsign ::-                   forall args . Fullfilled "_backward_softsign(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_softsign(symbol)" args -> IO SymbolHandle-_backward_softsign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softsign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_copy(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_copy ::-      forall args . Fullfilled "_copy(symbol)" args =>-        String -> ArgsHMap "_copy(symbol)" args -> IO SymbolHandle-_copy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_copy(symbol)" = '[]--_backward_copy ::-               forall args . Fullfilled "_backward_copy(symbol)" args =>-                 String -> ArgsHMap "_backward_copy(symbol)" args -> IO SymbolHandle-_backward_copy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_copy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BlockGrad(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_BlockGrad ::-           forall args . Fullfilled "_BlockGrad(symbol)" args =>-             String -> ArgsHMap "_BlockGrad(symbol)" args -> IO SymbolHandle-_BlockGrad name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BlockGrad"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "make_loss(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--make_loss ::-          forall args . Fullfilled "make_loss(symbol)" args =>-            String -> ArgsHMap "make_loss(symbol)" args -> IO SymbolHandle-make_loss name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "make_loss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_identity_with_attr_like_rhs(symbol)"-     =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_identity_with_attr_like_rhs ::-                             forall args .-                               Fullfilled "_identity_with_attr_like_rhs(symbol)" args =>-                               String ->-                                 ArgsHMap "_identity_with_attr_like_rhs(symbol)" args ->-                                   IO SymbolHandle-_identity_with_attr_like_rhs name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_identity_with_attr_like_rhs"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "reshape_like(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--reshape_like ::-             forall args . Fullfilled "reshape_like(symbol)" args =>-               String -> ArgsHMap "reshape_like(symbol)" args -> IO SymbolHandle-reshape_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reshape_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "shape_array(symbol)" =-     '[ '("lhs_begin", AttrOpt (Maybe Int)),-        '("lhs_end", AttrOpt (Maybe Int)),-        '("rhs_begin", AttrOpt (Maybe Int)),-        '("rhs_end", AttrOpt (Maybe Int)), '("data", AttrOpt SymbolHandle)]--shape_array ::-            forall args . Fullfilled "shape_array(symbol)" args =>-              String -> ArgsHMap "shape_array(symbol)" args -> IO SymbolHandle-shape_array name args-  = let scalarArgs-          = catMaybes-              [("lhs_begin",) . showValue <$>-                 (args !? #lhs_begin :: Maybe (Maybe Int)),-               ("lhs_end",) . showValue <$>-                 (args !? #lhs_end :: Maybe (Maybe Int)),-               ("rhs_begin",) . showValue <$>-                 (args !? #rhs_begin :: Maybe (Maybe Int)),-               ("rhs_end",) . showValue <$>-                 (args !? #rhs_end :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "shape_array"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "size_array(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--size_array ::-           forall args . Fullfilled "size_array(symbol)" args =>-             String -> ArgsHMap "size_array(symbol)" args -> IO SymbolHandle-size_array name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "size_array"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Cast(symbol)" =-     '[ '("dtype",-          AttrReq-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("data", AttrOpt SymbolHandle)]--_Cast ::-      forall args . Fullfilled "_Cast(symbol)" args =>-        String -> ArgsHMap "_Cast(symbol)" args -> IO SymbolHandle-_Cast name args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Cast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cast(symbol)" = '[]--_backward_cast ::-               forall args . Fullfilled "_backward_cast(symbol)" args =>-                 String -> ArgsHMap "_backward_cast(symbol)" args -> IO SymbolHandle-_backward_cast name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "negative(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--negative ::-         forall args . Fullfilled "negative(symbol)" args =>-           String -> ArgsHMap "negative(symbol)" args -> IO SymbolHandle-negative name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "negative"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "reciprocal(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--reciprocal ::-           forall args . Fullfilled "reciprocal(symbol)" args =>-             String -> ArgsHMap "reciprocal(symbol)" args -> IO SymbolHandle-reciprocal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reciprocal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_reciprocal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_reciprocal ::-                     forall args . Fullfilled "_backward_reciprocal(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_reciprocal(symbol)" args -> IO SymbolHandle-_backward_reciprocal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reciprocal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "abs(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--abs ::-    forall args . Fullfilled "abs(symbol)" args =>-      String -> ArgsHMap "abs(symbol)" args -> IO SymbolHandle-abs name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "abs"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_abs(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_abs ::-              forall args . Fullfilled "_backward_abs(symbol)" args =>-                String -> ArgsHMap "_backward_abs(symbol)" args -> IO SymbolHandle-_backward_abs name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_abs"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sign(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sign ::-     forall args . Fullfilled "sign(symbol)" args =>-       String -> ArgsHMap "sign(symbol)" args -> IO SymbolHandle-sign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sign(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sign ::-               forall args . Fullfilled "_backward_sign(symbol)" args =>-                 String -> ArgsHMap "_backward_sign(symbol)" args -> IO SymbolHandle-_backward_sign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "round(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--round ::-      forall args . Fullfilled "round(symbol)" args =>-        String -> ArgsHMap "round(symbol)" args -> IO SymbolHandle-round name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "round"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rint(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--rint ::-     forall args . Fullfilled "rint(symbol)" args =>-       String -> ArgsHMap "rint(symbol)" args -> IO SymbolHandle-rint name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rint"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ceil(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--ceil ::-     forall args . Fullfilled "ceil(symbol)" args =>-       String -> ArgsHMap "ceil(symbol)" args -> IO SymbolHandle-ceil name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ceil"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "floor(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--floor ::-      forall args . Fullfilled "floor(symbol)" args =>-        String -> ArgsHMap "floor(symbol)" args -> IO SymbolHandle-floor name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "floor"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "trunc(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--trunc ::-      forall args . Fullfilled "trunc(symbol)" args =>-        String -> ArgsHMap "trunc(symbol)" args -> IO SymbolHandle-trunc name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "trunc"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "fix(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--fix ::-    forall args . Fullfilled "fix(symbol)" args =>-      String -> ArgsHMap "fix(symbol)" args -> IO SymbolHandle-fix name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fix"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "square(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--square ::-       forall args . Fullfilled "square(symbol)" args =>-         String -> ArgsHMap "square(symbol)" args -> IO SymbolHandle-square name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "square"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_square(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_square ::-                 forall args . Fullfilled "_backward_square(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_square(symbol)" args -> IO SymbolHandle-_backward_square name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sqrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sqrt ::-     forall args . Fullfilled "sqrt(symbol)" args =>-       String -> ArgsHMap "sqrt(symbol)" args -> IO SymbolHandle-sqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sqrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sqrt ::-               forall args . Fullfilled "_backward_sqrt(symbol)" args =>-                 String -> ArgsHMap "_backward_sqrt(symbol)" args -> IO SymbolHandle-_backward_sqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rsqrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--rsqrt ::-      forall args . Fullfilled "rsqrt(symbol)" args =>-        String -> ArgsHMap "rsqrt(symbol)" args -> IO SymbolHandle-rsqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rsqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rsqrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_rsqrt ::-                forall args . Fullfilled "_backward_rsqrt(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_rsqrt(symbol)" args -> IO SymbolHandle-_backward_rsqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rsqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cbrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--cbrt ::-     forall args . Fullfilled "cbrt(symbol)" args =>-       String -> ArgsHMap "cbrt(symbol)" args -> IO SymbolHandle-cbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cbrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_cbrt ::-               forall args . Fullfilled "_backward_cbrt(symbol)" args =>-                 String -> ArgsHMap "_backward_cbrt(symbol)" args -> IO SymbolHandle-_backward_cbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "erf(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--erf ::-    forall args . Fullfilled "erf(symbol)" args =>-      String -> ArgsHMap "erf(symbol)" args -> IO SymbolHandle-erf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "erf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_erf(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_erf ::-              forall args . Fullfilled "_backward_erf(symbol)" args =>-                String -> ArgsHMap "_backward_erf(symbol)" args -> IO SymbolHandle-_backward_erf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_erf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rcbrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--rcbrt ::-      forall args . Fullfilled "rcbrt(symbol)" args =>-        String -> ArgsHMap "rcbrt(symbol)" args -> IO SymbolHandle-rcbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rcbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rcbrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_rcbrt ::-                forall args . Fullfilled "_backward_rcbrt(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_rcbrt(symbol)" args -> IO SymbolHandle-_backward_rcbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rcbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "exp(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--exp ::-    forall args . Fullfilled "exp(symbol)" args =>-      String -> ArgsHMap "exp(symbol)" args -> IO SymbolHandle-exp name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "exp"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log ::-    forall args . Fullfilled "log(symbol)" args =>-      String -> ArgsHMap "log(symbol)" args -> IO SymbolHandle-log name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log10(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log10 ::-      forall args . Fullfilled "log10(symbol)" args =>-        String -> ArgsHMap "log10(symbol)" args -> IO SymbolHandle-log10 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log10"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log2(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log2 ::-     forall args . Fullfilled "log2(symbol)" args =>-       String -> ArgsHMap "log2(symbol)" args -> IO SymbolHandle-log2 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log ::-              forall args . Fullfilled "_backward_log(symbol)" args =>-                String -> ArgsHMap "_backward_log(symbol)" args -> IO SymbolHandle-_backward_log name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log10(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log10 ::-                forall args . Fullfilled "_backward_log10(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_log10(symbol)" args -> IO SymbolHandle-_backward_log10 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log10"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log2(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log2 ::-               forall args . Fullfilled "_backward_log2(symbol)" args =>-                 String -> ArgsHMap "_backward_log2(symbol)" args -> IO SymbolHandle-_backward_log2 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log1p(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log1p ::-      forall args . Fullfilled "log1p(symbol)" args =>-        String -> ArgsHMap "log1p(symbol)" args -> IO SymbolHandle-log1p name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log1p"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log1p(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log1p ::-                forall args . Fullfilled "_backward_log1p(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_log1p(symbol)" args -> IO SymbolHandle-_backward_log1p name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log1p"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "expm1(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--expm1 ::-      forall args . Fullfilled "expm1(symbol)" args =>-        String -> ArgsHMap "expm1(symbol)" args -> IO SymbolHandle-expm1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expm1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_expm1(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_expm1 ::-                forall args . Fullfilled "_backward_expm1(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_expm1(symbol)" args -> IO SymbolHandle-_backward_expm1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_expm1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "gamma(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--gamma ::-      forall args . Fullfilled "gamma(symbol)" args =>-        String -> ArgsHMap "gamma(symbol)" args -> IO SymbolHandle-gamma name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_gamma(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_gamma ::-                forall args . Fullfilled "_backward_gamma(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_gamma(symbol)" args -> IO SymbolHandle-_backward_gamma name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "gammaln(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--gammaln ::-        forall args . Fullfilled "gammaln(symbol)" args =>-          String -> ArgsHMap "gammaln(symbol)" args -> IO SymbolHandle-gammaln name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gammaln"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_gammaln(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_gammaln ::-                  forall args . Fullfilled "_backward_gammaln(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_gammaln(symbol)" args -> IO SymbolHandle-_backward_gammaln name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gammaln"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "logical_not(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--logical_not ::-            forall args . Fullfilled "logical_not(symbol)" args =>-              String -> ArgsHMap "logical_not(symbol)" args -> IO SymbolHandle-logical_not name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "logical_not"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sum(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--sum ::-    forall args . Fullfilled "sum(symbol)" args =>-      String -> ArgsHMap "sum(symbol)" args -> IO SymbolHandle-sum name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sum(symbol)" = '[]--_backward_sum ::-              forall args . Fullfilled "_backward_sum(symbol)" args =>-                String -> ArgsHMap "_backward_sum(symbol)" args -> IO SymbolHandle-_backward_sum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "mean(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--mean ::-     forall args . Fullfilled "mean(symbol)" args =>-       String -> ArgsHMap "mean(symbol)" args -> IO SymbolHandle-mean name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mean"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mean(symbol)" = '[]--_backward_mean ::-               forall args . Fullfilled "_backward_mean(symbol)" args =>-                 String -> ArgsHMap "_backward_mean(symbol)" args -> IO SymbolHandle-_backward_mean name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mean"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "prod(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--prod ::-     forall args . Fullfilled "prod(symbol)" args =>-       String -> ArgsHMap "prod(symbol)" args -> IO SymbolHandle-prod name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "prod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_prod(symbol)" = '[]--_backward_prod ::-               forall args . Fullfilled "_backward_prod(symbol)" args =>-                 String -> ArgsHMap "_backward_prod(symbol)" args -> IO SymbolHandle-_backward_prod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_prod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "nansum(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--nansum ::-       forall args . Fullfilled "nansum(symbol)" args =>-         String -> ArgsHMap "nansum(symbol)" args -> IO SymbolHandle-nansum name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nansum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_nansum(symbol)" = '[]--_backward_nansum ::-                 forall args . Fullfilled "_backward_nansum(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_nansum(symbol)" args -> IO SymbolHandle-_backward_nansum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nansum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "nanprod(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--nanprod ::-        forall args . Fullfilled "nanprod(symbol)" args =>-          String -> ArgsHMap "nanprod(symbol)" args -> IO SymbolHandle-nanprod name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nanprod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_nanprod(symbol)" = '[]--_backward_nanprod ::-                  forall args . Fullfilled "_backward_nanprod(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_nanprod(symbol)" args -> IO SymbolHandle-_backward_nanprod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nanprod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "max(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--max ::-    forall args . Fullfilled "max(symbol)" args =>-      String -> ArgsHMap "max(symbol)" args -> IO SymbolHandle-max name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "max"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_max(symbol)" = '[]--_backward_max ::-              forall args . Fullfilled "_backward_max(symbol)" args =>-                String -> ArgsHMap "_backward_max(symbol)" args -> IO SymbolHandle-_backward_max name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_max"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "min(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--min ::-    forall args . Fullfilled "min(symbol)" args =>-      String -> ArgsHMap "min(symbol)" args -> IO SymbolHandle-min name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "min"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_min(symbol)" = '[]--_backward_min ::-              forall args . Fullfilled "_backward_min(symbol)" args =>-                String -> ArgsHMap "_backward_min(symbol)" args -> IO SymbolHandle-_backward_min name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_min"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_axis(symbol)" =-     '[ '("axis", AttrOpt [Int]), '("size", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--broadcast_axis ::-               forall args . Fullfilled "broadcast_axis(symbol)" args =>-                 String -> ArgsHMap "broadcast_axis(symbol)" args -> IO SymbolHandle-broadcast_axis name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("size",) . showValue <$> (args !? #size :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_axis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_to(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--broadcast_to ::-             forall args . Fullfilled "broadcast_to(symbol)" args =>-               String -> ArgsHMap "broadcast_to(symbol)" args -> IO SymbolHandle-broadcast_to name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_to"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_broadcast_backward(symbol)" = '[]--_broadcast_backward ::-                    forall args . Fullfilled "_broadcast_backward(symbol)" args =>-                      String ->-                        ArgsHMap "_broadcast_backward(symbol)" args -> IO SymbolHandle-_broadcast_backward name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_broadcast_backward"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_like(symbol)" =-     '[ '("lhs_axes", AttrOpt (Maybe [Int])),-        '("rhs_axes", AttrOpt (Maybe [Int])),-        '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_like ::-               forall args . Fullfilled "broadcast_like(symbol)" args =>-                 String -> ArgsHMap "broadcast_like(symbol)" args -> IO SymbolHandle-broadcast_like name args-  = let scalarArgs-          = catMaybes-              [("lhs_axes",) . showValue <$>-                 (args !? #lhs_axes :: Maybe (Maybe [Int])),-               ("rhs_axes",) . showValue <$>-                 (args !? #rhs_axes :: Maybe (Maybe [Int]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "norm(symbol)" =-     '[ '("ord", AttrOpt Int), '("axis", AttrOpt (Maybe [Int])),-        '("keepdims", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--norm ::-     forall args . Fullfilled "norm(symbol)" args =>-       String -> ArgsHMap "norm(symbol)" args -> IO SymbolHandle-norm name args-  = let scalarArgs-          = catMaybes-              [("ord",) . showValue <$> (args !? #ord :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "norm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_norm(symbol)" = '[]--_backward_norm ::-               forall args . Fullfilled "_backward_norm(symbol)" args =>-                 String -> ArgsHMap "_backward_norm(symbol)" args -> IO SymbolHandle-_backward_norm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_norm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_add(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_add ::-             forall args . Fullfilled "elemwise_add(symbol)" args =>-               String -> ArgsHMap "elemwise_add(symbol)" args -> IO SymbolHandle-elemwise_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_grad_add(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_grad_add ::-          forall args . Fullfilled "_grad_add(symbol)" args =>-            String -> ArgsHMap "_grad_add(symbol)" args -> IO SymbolHandle-_grad_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_grad_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_add(symbol)" = '[]--_backward_add ::-              forall args . Fullfilled "_backward_add(symbol)" args =>-                String -> ArgsHMap "_backward_add(symbol)" args -> IO SymbolHandle-_backward_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_sub(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_sub ::-             forall args . Fullfilled "elemwise_sub(symbol)" args =>-               String -> ArgsHMap "elemwise_sub(symbol)" args -> IO SymbolHandle-elemwise_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sub(symbol)" = '[]--_backward_sub ::-              forall args . Fullfilled "_backward_sub(symbol)" args =>-                String -> ArgsHMap "_backward_sub(symbol)" args -> IO SymbolHandle-_backward_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_mul(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_mul ::-             forall args . Fullfilled "elemwise_mul(symbol)" args =>-               String -> ArgsHMap "elemwise_mul(symbol)" args -> IO SymbolHandle-elemwise_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mul(symbol)" = '[]--_backward_mul ::-              forall args . Fullfilled "_backward_mul(symbol)" args =>-                String -> ArgsHMap "_backward_mul(symbol)" args -> IO SymbolHandle-_backward_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_div(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_div ::-             forall args . Fullfilled "elemwise_div(symbol)" args =>-               String -> ArgsHMap "elemwise_div(symbol)" args -> IO SymbolHandle-elemwise_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_div(symbol)" = '[]--_backward_div ::-              forall args . Fullfilled "_backward_div(symbol)" args =>-                String -> ArgsHMap "_backward_div(symbol)" args -> IO SymbolHandle-_backward_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_mod(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_mod ::-     forall args . Fullfilled "_mod(symbol)" args =>-       String -> ArgsHMap "_mod(symbol)" args -> IO SymbolHandle-_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mod(symbol)" = '[]--_backward_mod ::-              forall args . Fullfilled "_backward_mod(symbol)" args =>-                String -> ArgsHMap "_backward_mod(symbol)" args -> IO SymbolHandle-_backward_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_elemwise_div(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_scatter_elemwise_div ::-                      forall args . Fullfilled "_scatter_elemwise_div(symbol)" args =>-                        String ->-                          ArgsHMap "_scatter_elemwise_div(symbol)" args -> IO SymbolHandle-_scatter_elemwise_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_elemwise_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_plus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_scatter_plus_scalar ::-                     forall args . Fullfilled "_scatter_plus_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_scatter_plus_scalar(symbol)" args -> IO SymbolHandle-_scatter_plus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_plus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_minus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_scatter_minus_scalar ::-                      forall args . Fullfilled "_scatter_minus_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_scatter_minus_scalar(symbol)" args -> IO SymbolHandle-_scatter_minus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_minus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Embedding(symbol)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle)]--_Embedding ::-           forall args . Fullfilled "_Embedding(symbol)" args =>-             String -> ArgsHMap "_Embedding(symbol)" args -> IO SymbolHandle-_Embedding name args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Embedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_SparseEmbedding(symbol)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle)]--_contrib_SparseEmbedding ::-                         forall args . Fullfilled "_contrib_SparseEmbedding(symbol)" args =>-                           String ->-                             ArgsHMap "_contrib_SparseEmbedding(symbol)" args -> IO SymbolHandle-_contrib_SparseEmbedding name args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SparseEmbedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Embedding(symbol)" = '[]--_backward_Embedding ::-                    forall args . Fullfilled "_backward_Embedding(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_Embedding(symbol)" args -> IO SymbolHandle-_backward_Embedding name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Embedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SparseEmbedding(symbol)" =-     '[]--_backward_SparseEmbedding ::-                          forall args .-                            Fullfilled "_backward_SparseEmbedding(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_SparseEmbedding(symbol)" args ->-                                IO SymbolHandle-_backward_SparseEmbedding name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SparseEmbedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "take(symbol)" =-     '[ '("axis", AttrOpt Int),-        '("mode", AttrOpt (EnumType '["clip", "raise", "wrap"])),-        '("a", AttrOpt SymbolHandle), '("indices", AttrOpt SymbolHandle)]--take ::-     forall args . Fullfilled "take(symbol)" args =>-       String -> ArgsHMap "take(symbol)" args -> IO SymbolHandle-take name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "raise", "wrap"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "take"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_take(symbol)" = '[]--_backward_take ::-               forall args . Fullfilled "_backward_take(symbol)" args =>-                 String -> ArgsHMap "_backward_take(symbol)" args -> IO SymbolHandle-_backward_take name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_take"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "batch_take(symbol)" =-     '[ '("a", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--batch_take ::-           forall args . Fullfilled "batch_take(symbol)" args =>-             String -> ArgsHMap "batch_take(symbol)" args -> IO SymbolHandle-batch_take name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_take"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "one_hot(symbol)" =-     '[ '("depth", AttrReq Int), '("on_value", AttrOpt Double),-        '("off_value", AttrOpt Double),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("indices", AttrOpt SymbolHandle)]--one_hot ::-        forall args . Fullfilled "one_hot(symbol)" args =>-          String -> ArgsHMap "one_hot(symbol)" args -> IO SymbolHandle-one_hot name args-  = let scalarArgs-          = catMaybes-              [("depth",) . showValue <$> (args !? #depth :: Maybe Int),-               ("on_value",) . showValue <$> (args !? #on_value :: Maybe Double),-               ("off_value",) . showValue <$>-                 (args !? #off_value :: Maybe Double),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "one_hot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "gather_nd(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--gather_nd ::-          forall args . Fullfilled "gather_nd(symbol)" args =>-            String -> ArgsHMap "gather_nd(symbol)" args -> IO SymbolHandle-gather_nd name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gather_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "scatter_nd(symbol)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--scatter_nd ::-           forall args . Fullfilled "scatter_nd(symbol)" args =>-             String -> ArgsHMap "scatter_nd(symbol)" args -> IO SymbolHandle-scatter_nd name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "scatter_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_gather_nd(symbol)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--_backward_gather_nd ::-                    forall args . Fullfilled "_backward_gather_nd(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_gather_nd(symbol)" args -> IO SymbolHandle-_backward_gather_nd name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gather_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_set_nd(symbol)" =-     '[ '("shape", AttrReq [Int]), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle), '("indices", AttrOpt SymbolHandle)]--_scatter_set_nd ::-                forall args . Fullfilled "_scatter_set_nd(symbol)" args =>-                  String ->-                    ArgsHMap "_scatter_set_nd(symbol)" args -> IO SymbolHandle-_scatter_set_nd name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_set_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_equal ::-                forall args . Fullfilled "broadcast_equal(symbol)" args =>-                  String ->-                    ArgsHMap "broadcast_equal(symbol)" args -> IO SymbolHandle-broadcast_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_not_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_not_equal ::-                    forall args . Fullfilled "broadcast_not_equal(symbol)" args =>-                      String ->-                        ArgsHMap "broadcast_not_equal(symbol)" args -> IO SymbolHandle-broadcast_not_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_not_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_greater(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_greater ::-                  forall args . Fullfilled "broadcast_greater(symbol)" args =>-                    String ->-                      ArgsHMap "broadcast_greater(symbol)" args -> IO SymbolHandle-broadcast_greater name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_greater_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_greater_equal ::-                        forall args . Fullfilled "broadcast_greater_equal(symbol)" args =>-                          String ->-                            ArgsHMap "broadcast_greater_equal(symbol)" args -> IO SymbolHandle-broadcast_greater_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_lesser(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_lesser ::-                 forall args . Fullfilled "broadcast_lesser(symbol)" args =>-                   String ->-                     ArgsHMap "broadcast_lesser(symbol)" args -> IO SymbolHandle-broadcast_lesser name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_lesser_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_lesser_equal ::-                       forall args . Fullfilled "broadcast_lesser_equal(symbol)" args =>-                         String ->-                           ArgsHMap "broadcast_lesser_equal(symbol)" args -> IO SymbolHandle-broadcast_lesser_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_logical_and(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_logical_and ::-                      forall args . Fullfilled "broadcast_logical_and(symbol)" args =>-                        String ->-                          ArgsHMap "broadcast_logical_and(symbol)" args -> IO SymbolHandle-broadcast_logical_and name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_and"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_logical_or(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_logical_or ::-                     forall args . Fullfilled "broadcast_logical_or(symbol)" args =>-                       String ->-                         ArgsHMap "broadcast_logical_or(symbol)" args -> IO SymbolHandle-broadcast_logical_or name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_or"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_logical_xor(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_logical_xor ::-                      forall args . Fullfilled "broadcast_logical_xor(symbol)" args =>-                        String ->-                          ArgsHMap "broadcast_logical_xor(symbol)" args -> IO SymbolHandle-broadcast_logical_xor name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_xor"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_plus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_plus_scalar ::-             forall args . Fullfilled "_plus_scalar(symbol)" args =>-               String -> ArgsHMap "_plus_scalar(symbol)" args -> IO SymbolHandle-_plus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_plus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_minus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_minus_scalar ::-              forall args . Fullfilled "_minus_scalar(symbol)" args =>-                String -> ArgsHMap "_minus_scalar(symbol)" args -> IO SymbolHandle-_minus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rminus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rminus_scalar ::-               forall args . Fullfilled "_rminus_scalar(symbol)" args =>-                 String -> ArgsHMap "_rminus_scalar(symbol)" args -> IO SymbolHandle-_rminus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rminus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_mul_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_mul_scalar ::-            forall args . Fullfilled "_mul_scalar(symbol)" args =>-              String -> ArgsHMap "_mul_scalar(symbol)" args -> IO SymbolHandle-_mul_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mul_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mul_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_backward_mul_scalar ::-                     forall args . Fullfilled "_backward_mul_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_mul_scalar(symbol)" args -> IO SymbolHandle-_backward_mul_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_div_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_div_scalar ::-            forall args . Fullfilled "_div_scalar(symbol)" args =>-              String -> ArgsHMap "_div_scalar(symbol)" args -> IO SymbolHandle-_div_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_div_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_div_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_backward_div_scalar ::-                     forall args . Fullfilled "_backward_div_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_div_scalar(symbol)" args -> IO SymbolHandle-_backward_div_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rdiv_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rdiv_scalar ::-             forall args . Fullfilled "_rdiv_scalar(symbol)" args =>-               String -> ArgsHMap "_rdiv_scalar(symbol)" args -> IO SymbolHandle-_rdiv_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rdiv_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rdiv_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_rdiv_scalar ::-                      forall args . Fullfilled "_backward_rdiv_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_rdiv_scalar(symbol)" args -> IO SymbolHandle-_backward_rdiv_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rdiv_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_mod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_mod_scalar ::-            forall args . Fullfilled "_mod_scalar(symbol)" args =>-              String -> ArgsHMap "_mod_scalar(symbol)" args -> IO SymbolHandle-_mod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_mod_scalar ::-                     forall args . Fullfilled "_backward_mod_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_mod_scalar(symbol)" args -> IO SymbolHandle-_backward_mod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rmod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rmod_scalar ::-             forall args . Fullfilled "_rmod_scalar(symbol)" args =>-               String -> ArgsHMap "_rmod_scalar(symbol)" args -> IO SymbolHandle-_rmod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rmod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rmod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_rmod_scalar ::-                      forall args . Fullfilled "_backward_rmod_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_rmod_scalar(symbol)" args -> IO SymbolHandle-_backward_rmod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rmod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_ravel_multi_index(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--_ravel_multi_index ::-                   forall args . Fullfilled "_ravel_multi_index(symbol)" args =>-                     String ->-                       ArgsHMap "_ravel_multi_index(symbol)" args -> IO SymbolHandle-_ravel_multi_index name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ravel_multi_index"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_unravel_index(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--_unravel_index ::-               forall args . Fullfilled "_unravel_index(symbol)" args =>-                 String -> ArgsHMap "_unravel_index(symbol)" args -> IO SymbolHandle-_unravel_index name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_unravel_index"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argmax(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--argmax ::-       forall args . Fullfilled "argmax(symbol)" args =>-         String -> ArgsHMap "argmax(symbol)" args -> IO SymbolHandle-argmax name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argmin(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--argmin ::-       forall args . Fullfilled "argmin(symbol)" args =>-         String -> ArgsHMap "argmin(symbol)" args -> IO SymbolHandle-argmin name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argmax_channel(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--argmax_channel ::-               forall args . Fullfilled "argmax_channel(symbol)" args =>-                 String -> ArgsHMap "argmax_channel(symbol)" args -> IO SymbolHandle-argmax_channel name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax_channel"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "pick(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("mode", AttrOpt (EnumType '["clip", "wrap"])),-        '("data", AttrOpt SymbolHandle), '("index", AttrOpt SymbolHandle)]--pick ::-     forall args . Fullfilled "pick(symbol)" args =>-       String -> ArgsHMap "pick(symbol)" args -> IO SymbolHandle-pick name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "wrap"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("index",) <$> (args !? #index :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "pick"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_pick(symbol)" = '[]--_backward_pick ::-               forall args . Fullfilled "_backward_pick(symbol)" args =>-                 String -> ArgsHMap "_backward_pick(symbol)" args -> IO SymbolHandle-_backward_pick name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_pick"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sparse_retain(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--_sparse_retain ::-               forall args . Fullfilled "_sparse_retain(symbol)" args =>-                 String -> ArgsHMap "_sparse_retain(symbol)" args -> IO SymbolHandle-_sparse_retain name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_retain"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sparse_retain(symbol)" = '[]--_backward_sparse_retain ::-                        forall args . Fullfilled "_backward_sparse_retain(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_sparse_retain(symbol)" args -> IO SymbolHandle-_backward_sparse_retain name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sparse_retain"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_where(symbol)" =-     '[ '("condition", AttrOpt SymbolHandle),-        '("x", AttrOpt SymbolHandle), '("y", AttrOpt SymbolHandle)]--_where ::-       forall args . Fullfilled "_where(symbol)" args =>-         String -> ArgsHMap "_where(symbol)" args -> IO SymbolHandle-_where name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("condition",) <$> (args !? #condition :: Maybe SymbolHandle),-               ("x",) <$> (args !? #x :: Maybe SymbolHandle),-               ("y",) <$> (args !? #y :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "where"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_where(symbol)" = '[]--_backward_where ::-                forall args . Fullfilled "_backward_where(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_where(symbol)" args -> IO SymbolHandle-_backward_where name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_where"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "diag(symbol)" =-     '[ '("k", AttrOpt Int), '("axis1", AttrOpt Int),-        '("axis2", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--diag ::-     forall args . Fullfilled "diag(symbol)" args =>-       String -> ArgsHMap "diag(symbol)" args -> IO SymbolHandle-diag name args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("axis1",) . showValue <$> (args !? #axis1 :: Maybe Int),-               ("axis2",) . showValue <$> (args !? #axis2 :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "diag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_diag(symbol)" = '[]--_backward_diag ::-               forall args . Fullfilled "_backward_diag(symbol)" args =>-                 String -> ArgsHMap "_backward_diag(symbol)" args -> IO SymbolHandle-_backward_diag name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_diag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_maximum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_maximum_scalar ::-                forall args . Fullfilled "_maximum_scalar(symbol)" args =>-                  String ->-                    ArgsHMap "_maximum_scalar(symbol)" args -> IO SymbolHandle-_maximum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_maximum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_maximum_scalar ::-                         forall args . Fullfilled "_backward_maximum_scalar(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_maximum_scalar(symbol)" args -> IO SymbolHandle-_backward_maximum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_minimum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_minimum_scalar ::-                forall args . Fullfilled "_minimum_scalar(symbol)" args =>-                  String ->-                    ArgsHMap "_minimum_scalar(symbol)" args -> IO SymbolHandle-_minimum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_minimum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_minimum_scalar ::-                         forall args . Fullfilled "_backward_minimum_scalar(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_minimum_scalar(symbol)" args -> IO SymbolHandle-_backward_minimum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_power_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_power_scalar ::-              forall args . Fullfilled "_power_scalar(symbol)" args =>-                String -> ArgsHMap "_power_scalar(symbol)" args -> IO SymbolHandle-_power_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_power_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_power_scalar ::-                       forall args . Fullfilled "_backward_power_scalar(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_power_scalar(symbol)" args -> IO SymbolHandle-_backward_power_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rpower_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rpower_scalar ::-               forall args . Fullfilled "_rpower_scalar(symbol)" args =>-                 String -> ArgsHMap "_rpower_scalar(symbol)" args -> IO SymbolHandle-_rpower_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rpower_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rpower_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_rpower_scalar ::-                        forall args . Fullfilled "_backward_rpower_scalar(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_rpower_scalar(symbol)" args -> IO SymbolHandle-_backward_rpower_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rpower_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_hypot_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_hypot_scalar ::-              forall args . Fullfilled "_hypot_scalar(symbol)" args =>-                String -> ArgsHMap "_hypot_scalar(symbol)" args -> IO SymbolHandle-_hypot_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_hypot_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_hypot_scalar ::-                       forall args . Fullfilled "_backward_hypot_scalar(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_hypot_scalar(symbol)" args -> IO SymbolHandle-_backward_hypot_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "smooth_l1(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--smooth_l1 ::-          forall args . Fullfilled "smooth_l1(symbol)" args =>-            String -> ArgsHMap "smooth_l1(symbol)" args -> IO SymbolHandle-smooth_l1 name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "smooth_l1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_smooth_l1(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_smooth_l1 ::-                    forall args . Fullfilled "_backward_smooth_l1(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_smooth_l1(symbol)" args -> IO SymbolHandle-_backward_smooth_l1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_smooth_l1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "topk(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("k", AttrOpt Int),-        '("ret_typ",-          AttrOpt (EnumType '["both", "indices", "mask", "value"])),-        '("is_ascend", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt SymbolHandle)]--topk ::-     forall args . Fullfilled "topk(symbol)" args =>-       String -> ArgsHMap "topk(symbol)" args -> IO SymbolHandle-topk name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ret_typ",) . showValue <$>-                 (args !? #ret_typ ::-                    Maybe (EnumType '["both", "indices", "mask", "value"])),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "topk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_topk(symbol)" = '[]--_backward_topk ::-               forall args . Fullfilled "_backward_topk(symbol)" args =>-                 String -> ArgsHMap "_backward_topk(symbol)" args -> IO SymbolHandle-_backward_topk name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_topk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sort(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--sort ::-     forall args . Fullfilled "sort(symbol)" args =>-       String -> ArgsHMap "sort(symbol)" args -> IO SymbolHandle-sort name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sort"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argsort(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt SymbolHandle)]--argsort ::-        forall args . Fullfilled "argsort(symbol)" args =>-          String -> ArgsHMap "argsort(symbol)" args -> IO SymbolHandle-argsort name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argsort"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Reshape(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("reverse", AttrOpt Bool),-        '("target_shape", AttrOpt [Int]), '("keep_highest", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--_Reshape ::-         forall args . Fullfilled "_Reshape(symbol)" args =>-           String -> ArgsHMap "_Reshape(symbol)" args -> IO SymbolHandle-_Reshape name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("keep_highest",) . showValue <$>-                 (args !? #keep_highest :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Reshape"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Flatten(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_Flatten ::-         forall args . Fullfilled "_Flatten(symbol)" args =>-           String -> ArgsHMap "_Flatten(symbol)" args -> IO SymbolHandle-_Flatten name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Flatten"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "transpose(symbol)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--transpose ::-          forall args . Fullfilled "transpose(symbol)" args =>-            String -> ArgsHMap "transpose(symbol)" args -> IO SymbolHandle-transpose name args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "transpose"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "expand_dims(symbol)" =-     '[ '("axis", AttrReq Int), '("data", AttrOpt SymbolHandle)]--expand_dims ::-            forall args . Fullfilled "expand_dims(symbol)" args =>-              String -> ArgsHMap "expand_dims(symbol)" args -> IO SymbolHandle-expand_dims name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expand_dims"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "slice(symbol)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--slice ::-      forall args . Fullfilled "slice(symbol)" args =>-        String -> ArgsHMap "slice(symbol)" args -> IO SymbolHandle-slice name args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_slice(symbol)" = '[]--_backward_slice ::-                forall args . Fullfilled "_backward_slice(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_slice(symbol)" args -> IO SymbolHandle-_backward_slice name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_slice_assign(symbol)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_slice_assign ::-              forall args . Fullfilled "_slice_assign(symbol)" args =>-                String -> ArgsHMap "_slice_assign(symbol)" args -> IO SymbolHandle-_slice_assign name args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_slice_assign_scalar(symbol)" =-     '[ '("scalar", AttrOpt Double), '("begin", AttrReq [Int]),-        '("end", AttrReq [Int]), '("step", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--_slice_assign_scalar ::-                     forall args . Fullfilled "_slice_assign_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_slice_assign_scalar(symbol)" args -> IO SymbolHandle-_slice_assign_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Double),-               ("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "slice_axis(symbol)" =-     '[ '("axis", AttrReq Int), '("begin", AttrReq Int),-        '("end", AttrReq (Maybe Int)), '("data", AttrOpt SymbolHandle)]--slice_axis ::-           forall args . Fullfilled "slice_axis(symbol)" args =>-             String -> ArgsHMap "slice_axis(symbol)" args -> IO SymbolHandle-slice_axis name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("begin",) . showValue <$> (args !? #begin :: Maybe Int),-               ("end",) . showValue <$> (args !? #end :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_axis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_slice_axis(symbol)" = '[]--_backward_slice_axis ::-                     forall args . Fullfilled "_backward_slice_axis(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_slice_axis(symbol)" args -> IO SymbolHandle-_backward_slice_axis name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_axis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "slice_like(symbol)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt SymbolHandle),-        '("shape_like", AttrOpt SymbolHandle)]--slice_like ::-           forall args . Fullfilled "slice_like(symbol)" args =>-             String -> ArgsHMap "slice_like(symbol)" args -> IO SymbolHandle-slice_like name args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("shape_like",) <$> (args !? #shape_like :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_slice_like(symbol)" = '[]--_backward_slice_like ::-                     forall args . Fullfilled "_backward_slice_like(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_slice_like(symbol)" args -> IO SymbolHandle-_backward_slice_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "clip(symbol)" =-     '[ '("a_min", AttrReq Float), '("a_max", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--clip ::-     forall args . Fullfilled "clip(symbol)" args =>-       String -> ArgsHMap "clip(symbol)" args -> IO SymbolHandle-clip name args-  = let scalarArgs-          = catMaybes-              [("a_min",) . showValue <$> (args !? #a_min :: Maybe Float),-               ("a_max",) . showValue <$> (args !? #a_max :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "clip"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_clip(symbol)" = '[]--_backward_clip ::-               forall args . Fullfilled "_backward_clip(symbol)" args =>-                 String -> ArgsHMap "_backward_clip(symbol)" args -> IO SymbolHandle-_backward_clip name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_clip"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "repeat(symbol)" =-     '[ '("repeats", AttrReq Int), '("axis", AttrOpt (Maybe Int)),-        '("data", AttrOpt SymbolHandle)]--repeat ::-       forall args . Fullfilled "repeat(symbol)" args =>-         String -> ArgsHMap "repeat(symbol)" args -> IO SymbolHandle-repeat name args-  = let scalarArgs-          = catMaybes-              [("repeats",) . showValue <$> (args !? #repeats :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "repeat"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_repeat(symbol)" = '[]--_backward_repeat ::-                 forall args . Fullfilled "_backward_repeat(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_repeat(symbol)" args -> IO SymbolHandle-_backward_repeat name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_repeat"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "tile(symbol)" =-     '[ '("reps", AttrReq [Int]), '("data", AttrOpt SymbolHandle)]--tile ::-     forall args . Fullfilled "tile(symbol)" args =>-       String -> ArgsHMap "tile(symbol)" args -> IO SymbolHandle-tile name args-  = let scalarArgs-          = catMaybes-              [("reps",) . showValue <$> (args !? #reps :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tile"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_tile(symbol)" = '[]--_backward_tile ::-               forall args . Fullfilled "_backward_tile(symbol)" args =>-                 String -> ArgsHMap "_backward_tile(symbol)" args -> IO SymbolHandle-_backward_tile name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tile"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "reverse(symbol)" =-     '[ '("axis", AttrReq [Int]), '("data", AttrOpt SymbolHandle)]--reverse ::-        forall args . Fullfilled "reverse(symbol)" args =>-          String -> ArgsHMap "reverse(symbol)" args -> IO SymbolHandle-reverse name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_reverse(symbol)" = '[]--_backward_reverse ::-                  forall args . Fullfilled "_backward_reverse(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_reverse(symbol)" args -> IO SymbolHandle-_backward_reverse name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "stack(symbol)" =-     '[ '("axis", AttrOpt Int), '("num_args", AttrReq Int),-        '("data", AttrOpt [SymbolHandle])]--stack ::-      forall args . Fullfilled "stack(symbol)" args =>-        String -> ArgsHMap "stack(symbol)" args -> IO SymbolHandle-stack name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "stack"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_stack(symbol)" = '[]--_backward_stack ::-                forall args . Fullfilled "_backward_stack(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_stack(symbol)" args -> IO SymbolHandle-_backward_stack name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_stack"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "squeeze(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])),-        '("data", AttrOpt [SymbolHandle])]--squeeze ::-        forall args . Fullfilled "squeeze(symbol)" args =>-          String -> ArgsHMap "squeeze(symbol)" args -> IO SymbolHandle-squeeze name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "squeeze"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_squeeze(symbol)" = '[]--_backward_squeeze ::-                  forall args . Fullfilled "_backward_squeeze(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_squeeze(symbol)" args -> IO SymbolHandle-_backward_squeeze name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_squeeze"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "depth_to_space(symbol)" =-     '[ '("block_size", AttrReq Int), '("data", AttrOpt SymbolHandle)]--depth_to_space ::-               forall args . Fullfilled "depth_to_space(symbol)" args =>-                 String -> ArgsHMap "depth_to_space(symbol)" args -> IO SymbolHandle-depth_to_space name args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "depth_to_space"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "space_to_depth(symbol)" =-     '[ '("block_size", AttrReq Int), '("data", AttrOpt SymbolHandle)]--space_to_depth ::-               forall args . Fullfilled "space_to_depth(symbol)" args =>-                 String -> ArgsHMap "space_to_depth(symbol)" args -> IO SymbolHandle-space_to_depth name args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "space_to_depth"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "dot(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),-        '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--dot ::-    forall args . Fullfilled "dot(symbol)" args =>-      String -> ArgsHMap "dot(symbol)" args -> IO SymbolHandle-dot name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_dot(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"])))]--_backward_dot ::-              forall args . Fullfilled "_backward_dot(symbol)" args =>-                String -> ArgsHMap "_backward_dot(symbol)" args -> IO SymbolHandle-_backward_dot name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "batch_dot(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),-        '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--batch_dot ::-          forall args . Fullfilled "batch_dot(symbol)" args =>-            String -> ArgsHMap "batch_dot(symbol)" args -> IO SymbolHandle-batch_dot name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_batch_dot(symbol)" = '[]--_backward_batch_dot ::-                    forall args . Fullfilled "_backward_batch_dot(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_batch_dot(symbol)" args -> IO SymbolHandle-_backward_batch_dot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_batch_dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sin(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sin ::-    forall args . Fullfilled "sin(symbol)" args =>-      String -> ArgsHMap "sin(symbol)" args -> IO SymbolHandle-sin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sin(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sin ::-              forall args . Fullfilled "_backward_sin(symbol)" args =>-                String -> ArgsHMap "_backward_sin(symbol)" args -> IO SymbolHandle-_backward_sin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cos(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--cos ::-    forall args . Fullfilled "cos(symbol)" args =>-      String -> ArgsHMap "cos(symbol)" args -> IO SymbolHandle-cos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cos(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_cos ::-              forall args . Fullfilled "_backward_cos(symbol)" args =>-                String -> ArgsHMap "_backward_cos(symbol)" args -> IO SymbolHandle-_backward_cos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "tan(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--tan ::-    forall args . Fullfilled "tan(symbol)" args =>-      String -> ArgsHMap "tan(symbol)" args -> IO SymbolHandle-tan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_tan(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_tan ::-              forall args . Fullfilled "_backward_tan(symbol)" args =>-                String -> ArgsHMap "_backward_tan(symbol)" args -> IO SymbolHandle-_backward_tan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arcsin(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arcsin ::-       forall args . Fullfilled "arcsin(symbol)" args =>-         String -> ArgsHMap "arcsin(symbol)" args -> IO SymbolHandle-arcsin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arcsin(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arcsin ::-                 forall args . Fullfilled "_backward_arcsin(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_arcsin(symbol)" args -> IO SymbolHandle-_backward_arcsin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arccos(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arccos ::-       forall args . Fullfilled "arccos(symbol)" args =>-         String -> ArgsHMap "arccos(symbol)" args -> IO SymbolHandle-arccos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arccos(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arccos ::-                 forall args . Fullfilled "_backward_arccos(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_arccos(symbol)" args -> IO SymbolHandle-_backward_arccos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arctan(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arctan ::-       forall args . Fullfilled "arctan(symbol)" args =>-         String -> ArgsHMap "arctan(symbol)" args -> IO SymbolHandle-arctan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arctan(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arctan ::-                 forall args . Fullfilled "_backward_arctan(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_arctan(symbol)" args -> IO SymbolHandle-_backward_arctan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "degrees(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--degrees ::-        forall args . Fullfilled "degrees(symbol)" args =>-          String -> ArgsHMap "degrees(symbol)" args -> IO SymbolHandle-degrees name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "degrees"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_degrees(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_degrees ::-                  forall args . Fullfilled "_backward_degrees(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_degrees(symbol)" args -> IO SymbolHandle-_backward_degrees name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_degrees"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "radians(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--radians ::-        forall args . Fullfilled "radians(symbol)" args =>-          String -> ArgsHMap "radians(symbol)" args -> IO SymbolHandle-radians name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "radians"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_radians(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_radians ::-                  forall args . Fullfilled "_backward_radians(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_radians(symbol)" args -> IO SymbolHandle-_backward_radians name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_radians"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sinh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sinh ::-     forall args . Fullfilled "sinh(symbol)" args =>-       String -> ArgsHMap "sinh(symbol)" args -> IO SymbolHandle-sinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sinh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sinh ::-               forall args . Fullfilled "_backward_sinh(symbol)" args =>-                 String -> ArgsHMap "_backward_sinh(symbol)" args -> IO SymbolHandle-_backward_sinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cosh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--cosh ::-     forall args . Fullfilled "cosh(symbol)" args =>-       String -> ArgsHMap "cosh(symbol)" args -> IO SymbolHandle-cosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cosh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_cosh ::-               forall args . Fullfilled "_backward_cosh(symbol)" args =>-                 String -> ArgsHMap "_backward_cosh(symbol)" args -> IO SymbolHandle-_backward_cosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "tanh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--tanh ::-     forall args . Fullfilled "tanh(symbol)" args =>-       String -> ArgsHMap "tanh(symbol)" args -> IO SymbolHandle-tanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_tanh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_tanh ::-               forall args . Fullfilled "_backward_tanh(symbol)" args =>-                 String -> ArgsHMap "_backward_tanh(symbol)" args -> IO SymbolHandle-_backward_tanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arcsinh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arcsinh ::-        forall args . Fullfilled "arcsinh(symbol)" args =>-          String -> ArgsHMap "arcsinh(symbol)" args -> IO SymbolHandle-arcsinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arcsinh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arcsinh ::-                  forall args . Fullfilled "_backward_arcsinh(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_arcsinh(symbol)" args -> IO SymbolHandle-_backward_arcsinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arccosh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arccosh ::-        forall args . Fullfilled "arccosh(symbol)" args =>-          String -> ArgsHMap "arccosh(symbol)" args -> IO SymbolHandle-arccosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arccosh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arccosh ::-                  forall args . Fullfilled "_backward_arccosh(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_arccosh(symbol)" args -> IO SymbolHandle-_backward_arccosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arctanh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arctanh ::-        forall args . Fullfilled "arctanh(symbol)" args =>-          String -> ArgsHMap "arctanh(symbol)" args -> IO SymbolHandle-arctanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arctanh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arctanh ::-                  forall args . Fullfilled "_backward_arctanh(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_arctanh(symbol)" args -> IO SymbolHandle-_backward_arctanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_group_adagrad_update(symbol)"-     =-     '[ '("lr", AttrReq Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("history", AttrOpt SymbolHandle)]--_contrib_group_adagrad_update ::-                              forall args .-                                Fullfilled "_contrib_group_adagrad_update(symbol)" args =>-                                String ->-                                  ArgsHMap "_contrib_group_adagrad_update(symbol)" args ->-                                    IO SymbolHandle-_contrib_group_adagrad_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("history",) <$> (args !? #history :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_group_adagrad_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_getnnz(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("data", AttrOpt SymbolHandle)]--_contrib_getnnz ::-                forall args . Fullfilled "_contrib_getnnz(symbol)" args =>-                  String ->-                    ArgsHMap "_contrib_getnnz(symbol)" args -> IO SymbolHandle-_contrib_getnnz name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_getnnz"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_edge_id(symbol)" =-     '[ '("data", AttrOpt SymbolHandle), '("u", AttrOpt SymbolHandle),-        '("v", AttrOpt SymbolHandle)]--_contrib_edge_id ::-                 forall args . Fullfilled "_contrib_edge_id(symbol)" args =>-                   String ->-                     ArgsHMap "_contrib_edge_id(symbol)" args -> IO SymbolHandle-_contrib_edge_id name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("u",) <$> (args !? #u :: Maybe SymbolHandle),-               ("v",) <$> (args !? #v :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_edge_id"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_dgl_adjacency(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_contrib_dgl_adjacency ::-                       forall args . Fullfilled "_contrib_dgl_adjacency(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_dgl_adjacency(symbol)" args -> IO SymbolHandle-_contrib_dgl_adjacency name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dgl_adjacency"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quadratic(symbol)" =-     '[ '("a", AttrOpt Float), '("b", AttrOpt Float),-        '("c", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_contrib_quadratic ::-                   forall args . Fullfilled "_contrib_quadratic(symbol)" args =>-                     String ->-                       ArgsHMap "_contrib_quadratic(symbol)" args -> IO SymbolHandle-_contrib_quadratic name args-  = let scalarArgs-          = catMaybes-              [("a",) . showValue <$> (args !? #a :: Maybe Float),-               ("b",) . showValue <$> (args !? #b :: Maybe Float),-               ("c",) . showValue <$> (args !? #c :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quadratic"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_backward_quadratic(symbol)" =-     '[]--_contrib_backward_quadratic ::-                            forall args .-                              Fullfilled "_contrib_backward_quadratic(symbol)" args =>-                              String ->-                                ArgsHMap "_contrib_backward_quadratic(symbol)" args ->-                                  IO SymbolHandle-_contrib_backward_quadratic name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_quadratic"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_div_sqrt_dim(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_contrib_div_sqrt_dim ::-                      forall args . Fullfilled "_contrib_div_sqrt_dim(symbol)" args =>-                        String ->-                          ArgsHMap "_contrib_div_sqrt_dim(symbol)" args -> IO SymbolHandle-_contrib_div_sqrt_dim name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_div_sqrt_dim"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "khatri_rao(symbol)" =-     '[ '("args", AttrOpt [SymbolHandle])]--khatri_rao ::-           forall args . Fullfilled "khatri_rao(symbol)" args =>-             String -> ArgsHMap "khatri_rao(symbol)" args -> IO SymbolHandle-khatri_rao name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "khatri_rao"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_contrib_index_copy(symbol)" =-     '[ '("old_tensor", AttrOpt SymbolHandle),-        '("index_vector", AttrOpt SymbolHandle),-        '("new_tensor", AttrOpt SymbolHandle)]--_contrib_index_copy ::-                    forall args . Fullfilled "_contrib_index_copy(symbol)" args =>-                      String ->-                        ArgsHMap "_contrib_index_copy(symbol)" args -> IO SymbolHandle-_contrib_index_copy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("old_tensor",) <$> (args !? #old_tensor :: Maybe SymbolHandle),-               ("index_vector",) <$>-                 (args !? #index_vector :: Maybe SymbolHandle),-               ("new_tensor",) <$> (args !? #new_tensor :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_index_copy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_backward_index_copy(symbol)"-     = '[]--_contrib_backward_index_copy ::-                             forall args .-                               Fullfilled "_contrib_backward_index_copy(symbol)" args =>-                               String ->-                                 ArgsHMap "_contrib_backward_index_copy(symbol)" args ->-                                   IO SymbolHandle-_contrib_backward_index_copy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_index_copy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_ROIAlign(symbol)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float), '("sample_ratio", AttrOpt Int),-        '("data", AttrOpt SymbolHandle), '("rois", AttrOpt SymbolHandle)]--_contrib_ROIAlign ::-                  forall args . Fullfilled "_contrib_ROIAlign(symbol)" args =>-                    String ->-                      ArgsHMap "_contrib_ROIAlign(symbol)" args -> IO SymbolHandle-_contrib_ROIAlign name args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("sample_ratio",) . showValue <$>-                 (args !? #sample_ratio :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ROIAlign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_ROIAlign(symbol)" = '[]--_backward_ROIAlign ::-                   forall args . Fullfilled "_backward_ROIAlign(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_ROIAlign(symbol)" args -> IO SymbolHandle-_backward_ROIAlign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIAlign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_box_nms(symbol)" =-     '[ '("overlap_thresh", AttrOpt Float),-        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),-        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),-        '("id_index", AttrOpt Int), '("force_suppress", AttrOpt Bool),-        '("in_format", AttrOpt (EnumType '["center", "corner"])),-        '("out_format", AttrOpt (EnumType '["center", "corner"])),-        '("data", AttrOpt SymbolHandle)]--_contrib_box_nms ::-                 forall args . Fullfilled "_contrib_box_nms(symbol)" args =>-                   String ->-                     ArgsHMap "_contrib_box_nms(symbol)" args -> IO SymbolHandle-_contrib_box_nms name args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_nms"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_contrib_box_nms(symbol)" =-     '[ '("overlap_thresh", AttrOpt Float),-        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),-        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),-        '("id_index", AttrOpt Int), '("force_suppress", AttrOpt Bool),-        '("in_format", AttrOpt (EnumType '["center", "corner"])),-        '("out_format", AttrOpt (EnumType '["center", "corner"]))]--_backward_contrib_box_nms ::-                          forall args .-                            Fullfilled "_backward_contrib_box_nms(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_contrib_box_nms(symbol)" args ->-                                IO SymbolHandle-_backward_contrib_box_nms name args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_nms"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_box_iou(symbol)" =-     '[ '("format", AttrOpt (EnumType '["center", "corner"])),-        '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_contrib_box_iou ::-                 forall args . Fullfilled "_contrib_box_iou(symbol)" args =>-                   String ->-                     ArgsHMap "_contrib_box_iou(symbol)" args -> IO SymbolHandle-_contrib_box_iou name args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_iou"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_contrib_box_iou(symbol)" =-     '[ '("format", AttrOpt (EnumType '["center", "corner"]))]--_backward_contrib_box_iou ::-                          forall args .-                            Fullfilled "_backward_contrib_box_iou(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_contrib_box_iou(symbol)" args ->-                                IO SymbolHandle-_backward_contrib_box_iou name args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_iou"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_bipartite_matching(symbol)" =-     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),-        '("topk", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--_contrib_bipartite_matching ::-                            forall args .-                              Fullfilled "_contrib_bipartite_matching(symbol)" args =>-                              String ->-                                ArgsHMap "_contrib_bipartite_matching(symbol)" args ->-                                  IO SymbolHandle-_contrib_bipartite_matching name args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_bipartite_matching"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_contrib_bipartite_matching(symbol)" =-     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),-        '("topk", AttrOpt Int)]--_backward_contrib_bipartite_matching ::-                                     forall args .-                                       Fullfilled "_backward_contrib_bipartite_matching(symbol)"-                                         args =>-                                       String ->-                                         ArgsHMap "_backward_contrib_bipartite_matching(symbol)"-                                           args-                                           -> IO SymbolHandle-_backward_contrib_bipartite_matching name args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_bipartite_matching"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_BilinearResize2D(symbol)" =-     '[ '("height", AttrReq Int), '("width", AttrReq Int),-        '("data", AttrOpt SymbolHandle)]--_contrib_BilinearResize2D ::-                          forall args .-                            Fullfilled "_contrib_BilinearResize2D(symbol)" args =>-                            String ->-                              ArgsHMap "_contrib_BilinearResize2D(symbol)" args ->-                                IO SymbolHandle-_contrib_BilinearResize2D name args-  = let scalarArgs-          = catMaybes-              [("height",) . showValue <$> (args !? #height :: Maybe Int),-               ("width",) . showValue <$> (args !? #width :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_BilinearResize2D"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_contrib_BilinearResize2D(symbol)" = '[]--_backward_contrib_BilinearResize2D ::-                                   forall args .-                                     Fullfilled "_backward_contrib_BilinearResize2D(symbol)" args =>-                                     String ->-                                       ArgsHMap "_backward_contrib_BilinearResize2D(symbol)" args ->-                                         IO SymbolHandle-_backward_contrib_BilinearResize2D name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_BilinearResize2D"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_boolean_mask(symbol)" =-     '[ '("axis", AttrOpt Int), '("data", AttrOpt SymbolHandle),-        '("index", AttrOpt SymbolHandle)]--_contrib_boolean_mask ::-                      forall args . Fullfilled "_contrib_boolean_mask(symbol)" args =>-                        String ->-                          ArgsHMap "_contrib_boolean_mask(symbol)" args -> IO SymbolHandle-_contrib_boolean_mask name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("index",) <$> (args !? #index :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_boolean_mask"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_contrib_boolean_mask(symbol)" =-     '[ '("axis", AttrOpt Int)]--_backward_contrib_boolean_mask ::-                               forall args .-                                 Fullfilled "_backward_contrib_boolean_mask(symbol)" args =>-                                 String ->-                                   ArgsHMap "_backward_contrib_boolean_mask(symbol)" args ->-                                     IO SymbolHandle-_backward_contrib_boolean_mask name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_boolean_mask"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_SyncBatchNorm(symbol)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("ndev", AttrOpt Int),-        '("key", AttrOpt String), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle),-        '("moving_mean", AttrOpt SymbolHandle),-        '("moving_var", AttrOpt SymbolHandle)]--_contrib_SyncBatchNorm ::-                       forall args . Fullfilled "_contrib_SyncBatchNorm(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_SyncBatchNorm(symbol)" args -> IO SymbolHandle-_contrib_SyncBatchNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("ndev",) . showValue <$> (args !? #ndev :: Maybe Int),-               ("key",) . showValue <$> (args !? #key :: Maybe String)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe SymbolHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SyncBatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_AdaptiveAvgPooling2D(symbol)"-     =-     '[ '("output_size", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--_contrib_AdaptiveAvgPooling2D ::-                              forall args .-                                Fullfilled "_contrib_AdaptiveAvgPooling2D(symbol)" args =>-                                String ->-                                  ArgsHMap "_contrib_AdaptiveAvgPooling2D(symbol)" args ->-                                    IO SymbolHandle-_contrib_AdaptiveAvgPooling2D name args-  = let scalarArgs-          = catMaybes-              [("output_size",) . showValue <$>-                 (args !? #output_size :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_AdaptiveAvgPooling2D"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_contrib_AdaptiveAvgPooling2D(symbol)" =-     '[]--_backward_contrib_AdaptiveAvgPooling2D ::-                                       forall args .-                                         Fullfilled "_backward_contrib_AdaptiveAvgPooling2D(symbol)"-                                           args =>-                                         String ->-                                           ArgsHMap "_backward_contrib_AdaptiveAvgPooling2D(symbol)"-                                             args-                                             -> IO SymbolHandle-_backward_contrib_AdaptiveAvgPooling2D name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_AdaptiveAvgPooling2D"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_to_tensor(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_image_to_tensor ::-                 forall args . Fullfilled "_image_to_tensor(symbol)" args =>-                   String ->-                     ArgsHMap "_image_to_tensor(symbol)" args -> IO SymbolHandle-_image_to_tensor name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_to_tensor"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_normalize(symbol)" =-     '[ '("mean", AttrReq [Float]), '("std", AttrReq [Float]),-        '("data", AttrOpt SymbolHandle)]--_image_normalize ::-                 forall args . Fullfilled "_image_normalize(symbol)" args =>-                   String ->-                     ArgsHMap "_image_normalize(symbol)" args -> IO SymbolHandle-_image_normalize name args-  = let scalarArgs-          = catMaybes-              [("mean",) . showValue <$> (args !? #mean :: Maybe [Float]),-               ("std",) . showValue <$> (args !? #std :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_normalize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_flip_left_right(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_image_flip_left_right ::-                       forall args . Fullfilled "_image_flip_left_right(symbol)" args =>-                         String ->-                           ArgsHMap "_image_flip_left_right(symbol)" args -> IO SymbolHandle-_image_flip_left_right name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_left_right"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_flip_left_right(symbol)"-     = '[ '("data", AttrOpt SymbolHandle)]--_image_random_flip_left_right ::-                              forall args .-                                Fullfilled "_image_random_flip_left_right(symbol)" args =>-                                String ->-                                  ArgsHMap "_image_random_flip_left_right(symbol)" args ->-                                    IO SymbolHandle-_image_random_flip_left_right name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_left_right"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_flip_top_bottom(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_image_flip_top_bottom ::-                       forall args . Fullfilled "_image_flip_top_bottom(symbol)" args =>-                         String ->-                           ArgsHMap "_image_flip_top_bottom(symbol)" args -> IO SymbolHandle-_image_flip_top_bottom name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_top_bottom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_flip_top_bottom(symbol)"-     = '[ '("data", AttrOpt SymbolHandle)]--_image_random_flip_top_bottom ::-                              forall args .-                                Fullfilled "_image_random_flip_top_bottom(symbol)" args =>-                                String ->-                                  ArgsHMap "_image_random_flip_top_bottom(symbol)" args ->-                                    IO SymbolHandle-_image_random_flip_top_bottom name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_top_bottom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_brightness(symbol)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_brightness ::-                         forall args . Fullfilled "_image_random_brightness(symbol)" args =>-                           String ->-                             ArgsHMap "_image_random_brightness(symbol)" args -> IO SymbolHandle-_image_random_brightness name args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_brightness"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_contrast(symbol)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_contrast ::-                       forall args . Fullfilled "_image_random_contrast(symbol)" args =>-                         String ->-                           ArgsHMap "_image_random_contrast(symbol)" args -> IO SymbolHandle-_image_random_contrast name args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_contrast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_saturation(symbol)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_saturation ::-                         forall args . Fullfilled "_image_random_saturation(symbol)" args =>-                           String ->-                             ArgsHMap "_image_random_saturation(symbol)" args -> IO SymbolHandle-_image_random_saturation name args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_saturation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_hue(symbol)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_hue ::-                  forall args . Fullfilled "_image_random_hue(symbol)" args =>-                    String ->-                      ArgsHMap "_image_random_hue(symbol)" args -> IO SymbolHandle-_image_random_hue name args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_hue"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_color_jitter(symbol)" =-     '[ '("brightness", AttrReq Float), '("contrast", AttrReq Float),-        '("saturation", AttrReq Float), '("hue", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_color_jitter ::-                           forall args .-                             Fullfilled "_image_random_color_jitter(symbol)" args =>-                             String ->-                               ArgsHMap "_image_random_color_jitter(symbol)" args ->-                                 IO SymbolHandle-_image_random_color_jitter name args-  = let scalarArgs-          = catMaybes-              [("brightness",) . showValue <$>-                 (args !? #brightness :: Maybe Float),-               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),-               ("saturation",) . showValue <$>-                 (args !? #saturation :: Maybe Float),-               ("hue",) . showValue <$> (args !? #hue :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_color_jitter"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_adjust_lighting(symbol)" =-     '[ '("alpha", AttrReq [Float]), '("data", AttrOpt SymbolHandle)]--_image_adjust_lighting ::-                       forall args . Fullfilled "_image_adjust_lighting(symbol)" args =>-                         String ->-                           ArgsHMap "_image_adjust_lighting(symbol)" args -> IO SymbolHandle-_image_adjust_lighting name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_adjust_lighting"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_lighting(symbol)" =-     '[ '("alpha_std", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_image_random_lighting ::-                       forall args . Fullfilled "_image_random_lighting(symbol)" args =>-                         String ->-                           ArgsHMap "_image_random_lighting(symbol)" args -> IO SymbolHandle-_image_random_lighting name args-  = let scalarArgs-          = catMaybes-              [("alpha_std",) . showValue <$>-                 (args !? #alpha_std :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_lighting"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "softmax(symbol)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("data", AttrOpt SymbolHandle)]--softmax ::-        forall args . Fullfilled "softmax(symbol)" args =>-          String -> ArgsHMap "softmax(symbol)" args -> IO SymbolHandle-softmax name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_softmax(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_softmax ::-                  forall args . Fullfilled "_backward_softmax(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_softmax(symbol)" args -> IO SymbolHandle-_backward_softmax name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "softmin(symbol)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("data", AttrOpt SymbolHandle)]--softmin ::-        forall args . Fullfilled "softmin(symbol)" args =>-          String -> ArgsHMap "softmin(symbol)" args -> IO SymbolHandle-softmin name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_softmin(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_softmin ::-                  forall args . Fullfilled "_backward_softmin(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_softmin(symbol)" args -> IO SymbolHandle-_backward_softmin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log_softmax(symbol)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("data", AttrOpt SymbolHandle)]--log_softmax ::-            forall args . Fullfilled "log_softmax(symbol)" args =>-              String -> ArgsHMap "log_softmax(symbol)" args -> IO SymbolHandle-log_softmax name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log_softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log_softmax(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log_softmax ::-                      forall args . Fullfilled "_backward_log_softmax(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_log_softmax(symbol)" args -> IO SymbolHandle-_backward_log_softmax name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log_softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Pooling(symbol)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),-        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("pooling_convention",-          AttrOpt (EnumType '["full", "same", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("p_value", AttrOpt (Maybe Int)),-        '("count_include_pad", AttrOpt (Maybe Bool)),-        '("data", AttrOpt SymbolHandle)]--_Pooling ::-         forall args . Fullfilled "_Pooling(symbol)" args =>-           String -> ArgsHMap "_Pooling(symbol)" args -> IO SymbolHandle-_Pooling name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "same", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Pooling(symbol)" = '[]--_backward_Pooling ::-                  forall args . Fullfilled "_backward_Pooling(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_Pooling(symbol)" args -> IO SymbolHandle-_backward_Pooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Deconvolution(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("adj", AttrOpt [Int]), '("target_shape", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle)]--_Deconvolution ::-               forall args . Fullfilled "_Deconvolution(symbol)" args =>-                 String -> ArgsHMap "_Deconvolution(symbol)" args -> IO SymbolHandle-_Deconvolution name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("adj",) . showValue <$> (args !? #adj :: Maybe [Int]),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Deconvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Deconvolution(symbol)" = '[]--_backward_Deconvolution ::-                        forall args . Fullfilled "_backward_Deconvolution(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_Deconvolution(symbol)" args -> IO SymbolHandle-_backward_Deconvolution name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Deconvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Activation(symbol)" =-     '[ '("act_type",-          AttrReq-            (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"])),-        '("data", AttrOpt SymbolHandle)]--_Activation ::-            forall args . Fullfilled "_Activation(symbol)" args =>-              String -> ArgsHMap "_Activation(symbol)" args -> IO SymbolHandle-_Activation name args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Activation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Activation(symbol)" = '[]--_backward_Activation ::-                     forall args . Fullfilled "_backward_Activation(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_Activation(symbol)" args -> IO SymbolHandle-_backward_Activation name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Activation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_UpSampling(symbol)" =-     '[ '("scale", AttrReq Int), '("num_filter", AttrOpt Int),-        '("sample_type", AttrReq (EnumType '["bilinear", "nearest"])),-        '("multi_input_mode", AttrOpt (EnumType '["concat", "sum"])),-        '("num_args", AttrReq Int), '("workspace", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--_UpSampling ::-            forall args . Fullfilled "_UpSampling(symbol)" args =>-              String -> ArgsHMap "_UpSampling(symbol)" args -> IO SymbolHandle-_UpSampling name args-  = let scalarArgs-          = catMaybes-              [("scale",) . showValue <$> (args !? #scale :: Maybe Int),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("sample_type",) . showValue <$>-                 (args !? #sample_type ::-                    Maybe (EnumType '["bilinear", "nearest"])),-               ("multi_input_mode",) . showValue <$>-                 (args !? #multi_input_mode :: Maybe (EnumType '["concat", "sum"])),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "UpSampling"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_UpSampling(symbol)" = '[]--_backward_UpSampling ::-                     forall args . Fullfilled "_backward_UpSampling(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_UpSampling(symbol)" args -> IO SymbolHandle-_backward_UpSampling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_UpSampling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BatchNorm(symbol)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle),-        '("moving_mean", AttrOpt SymbolHandle),-        '("moving_var", AttrOpt SymbolHandle)]--_BatchNorm ::-           forall args . Fullfilled "_BatchNorm(symbol)" args =>-             String -> ArgsHMap "_BatchNorm(symbol)" args -> IO SymbolHandle-_BatchNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe SymbolHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_BatchNorm(symbol)" = '[]--_backward_BatchNorm ::-                    forall args . Fullfilled "_backward_BatchNorm(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_BatchNorm(symbol)" args -> IO SymbolHandle-_backward_BatchNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CTCLoss(symbol)" =-     '[ '("use_data_lengths", AttrOpt Bool),-        '("use_label_lengths", AttrOpt Bool),-        '("blank_label", AttrOpt (EnumType '["first", "last"])),-        '("data", AttrOpt SymbolHandle), '("label", AttrOpt SymbolHandle),-        '("data_lengths", AttrOpt SymbolHandle),-        '("label_lengths", AttrOpt SymbolHandle)]--_CTCLoss ::-         forall args . Fullfilled "_CTCLoss(symbol)" args =>-           String -> ArgsHMap "_CTCLoss(symbol)" args -> IO SymbolHandle-_CTCLoss name args-  = let scalarArgs-          = catMaybes-              [("use_data_lengths",) . showValue <$>-                 (args !? #use_data_lengths :: Maybe Bool),-               ("use_label_lengths",) . showValue <$>-                 (args !? #use_label_lengths :: Maybe Bool),-               ("blank_label",) . showValue <$>-                 (args !? #blank_label :: Maybe (EnumType '["first", "last"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle),-               ("data_lengths",) <$>-                 (args !? #data_lengths :: Maybe SymbolHandle),-               ("label_lengths",) <$>-                 (args !? #label_lengths :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CTCLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_ctc_loss(symbol)" = '[]--_backward_ctc_loss ::-                   forall args . Fullfilled "_backward_ctc_loss(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_ctc_loss(symbol)" args -> IO SymbolHandle-_backward_ctc_loss name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ctc_loss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_FullyConnected(symbol)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle), '("bias", AttrOpt SymbolHandle)]--_FullyConnected ::-                forall args . Fullfilled "_FullyConnected(symbol)" args =>-                  String ->-                    ArgsHMap "_FullyConnected(symbol)" args -> IO SymbolHandle-_FullyConnected name args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "FullyConnected"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_FullyConnected(symbol)" =-     '[]--_backward_FullyConnected ::-                         forall args . Fullfilled "_backward_FullyConnected(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_FullyConnected(symbol)" args -> IO SymbolHandle-_backward_FullyConnected name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_FullyConnected"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Convolution(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle)]--_Convolution ::-             forall args . Fullfilled "_Convolution(symbol)" args =>-               String -> ArgsHMap "_Convolution(symbol)" args -> IO SymbolHandle-_Convolution name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Convolution(symbol)" = '[]--_backward_Convolution ::-                      forall args . Fullfilled "_backward_Convolution(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_Convolution(symbol)" args -> IO SymbolHandle-_backward_Convolution name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LayerNorm(symbol)" =-     '[ '("axis", AttrOpt Int), '("eps", AttrOpt Float),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle), '("gamma", AttrOpt SymbolHandle),-        '("beta", AttrOpt SymbolHandle)]--_LayerNorm ::-           forall args . Fullfilled "_LayerNorm(symbol)" args =>-             String -> ArgsHMap "_LayerNorm(symbol)" args -> IO SymbolHandle-_LayerNorm name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LayerNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_LayerNorm(symbol)" = '[]--_backward_LayerNorm ::-                    forall args . Fullfilled "_backward_LayerNorm(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_LayerNorm(symbol)" args -> IO SymbolHandle-_backward_LayerNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LayerNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Concat(symbol)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--_Concat ::-        forall args . Fullfilled "_Concat(symbol)" args =>-          String -> ArgsHMap "_Concat(symbol)" args -> IO SymbolHandle-_Concat name args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "Concat"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_Concat(symbol)" = '[]--_backward_Concat ::-                 forall args . Fullfilled "_backward_Concat(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_Concat(symbol)" args -> IO SymbolHandle-_backward_Concat name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Concat"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rnn_param_concat(symbol)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--_rnn_param_concat ::-                  forall args . Fullfilled "_rnn_param_concat(symbol)" args =>-                    String ->-                      ArgsHMap "_rnn_param_concat(symbol)" args -> IO SymbolHandle-_rnn_param_concat name args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "_rnn_param_concat"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_SoftmaxActivation(symbol)" =-     '[ '("mode", AttrOpt (EnumType '["channel", "instance"])),-        '("data", AttrOpt SymbolHandle)]--_SoftmaxActivation ::-                   forall args . Fullfilled "_SoftmaxActivation(symbol)" args =>-                     String ->-                       ArgsHMap "_SoftmaxActivation(symbol)" args -> IO SymbolHandle-_SoftmaxActivation name args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["channel", "instance"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxActivation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SoftmaxActivation(symbol)" =-     '[]--_backward_SoftmaxActivation ::-                            forall args .-                              Fullfilled "_backward_SoftmaxActivation(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_SoftmaxActivation(symbol)" args ->-                                  IO SymbolHandle-_backward_SoftmaxActivation name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxActivation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LRN(symbol)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("knorm", AttrOpt Float), '("nsize", AttrReq Int),-        '("data", AttrOpt SymbolHandle)]--_LRN ::-     forall args . Fullfilled "_LRN(symbol)" args =>-       String -> ArgsHMap "_LRN(symbol)" args -> IO SymbolHandle-_LRN name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("knorm",) . showValue <$> (args !? #knorm :: Maybe Float),-               ("nsize",) . showValue <$> (args !? #nsize :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LRN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_LRN(symbol)" = '[]--_backward_LRN ::-              forall args . Fullfilled "_backward_LRN(symbol)" args =>-                String -> ArgsHMap "_backward_LRN(symbol)" args -> IO SymbolHandle-_backward_LRN name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LRN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Dropout(symbol)" =-     '[ '("p", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["always", "training"])),-        '("axes", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--_Dropout ::-         forall args . Fullfilled "_Dropout(symbol)" args =>-           String -> ArgsHMap "_Dropout(symbol)" args -> IO SymbolHandle-_Dropout name args-  = let scalarArgs-          = catMaybes-              [("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["always", "training"])),-               ("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Dropout"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Dropout(symbol)" = '[]--_backward_Dropout ::-                  forall args . Fullfilled "_backward_Dropout(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_Dropout(symbol)" args -> IO SymbolHandle-_backward_Dropout name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Dropout"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_dequantize(symbol)" =-     '[ '("out_type", AttrOpt (EnumType '["float32"])),-        '("data", AttrOpt SymbolHandle),-        '("min_range", AttrOpt SymbolHandle),-        '("max_range", AttrOpt SymbolHandle)]--_contrib_dequantize ::-                    forall args . Fullfilled "_contrib_dequantize(symbol)" args =>-                      String ->-                        ArgsHMap "_contrib_dequantize(symbol)" args -> IO SymbolHandle-_contrib_dequantize name args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["float32"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe SymbolHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dequantize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantized_flatten(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("min_data", AttrOpt SymbolHandle),-        '("max_data", AttrOpt SymbolHandle)]--_contrib_quantized_flatten ::-                           forall args .-                             Fullfilled "_contrib_quantized_flatten(symbol)" args =>-                             String ->-                               ArgsHMap "_contrib_quantized_flatten(symbol)" args ->-                                 IO SymbolHandle-_contrib_quantized_flatten name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe SymbolHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_flatten"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantized_conv(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle),-        '("min_data", AttrOpt SymbolHandle),-        '("max_data", AttrOpt SymbolHandle),-        '("min_weight", AttrOpt SymbolHandle),-        '("max_weight", AttrOpt SymbolHandle),-        '("min_bias", AttrOpt SymbolHandle),-        '("max_bias", AttrOpt SymbolHandle)]--_contrib_quantized_conv ::-                        forall args . Fullfilled "_contrib_quantized_conv(symbol)" args =>-                          String ->-                            ArgsHMap "_contrib_quantized_conv(symbol)" args -> IO SymbolHandle-_contrib_quantized_conv name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe SymbolHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe SymbolHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe SymbolHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe SymbolHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe SymbolHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_conv"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_contrib_quantized_fully_connected(symbol)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle), '("bias", AttrOpt SymbolHandle),-        '("min_data", AttrOpt SymbolHandle),-        '("max_data", AttrOpt SymbolHandle),-        '("min_weight", AttrOpt SymbolHandle),-        '("max_weight", AttrOpt SymbolHandle),-        '("min_bias", AttrOpt SymbolHandle),-        '("max_bias", AttrOpt SymbolHandle)]--_contrib_quantized_fully_connected ::-                                   forall args .-                                     Fullfilled "_contrib_quantized_fully_connected(symbol)" args =>-                                     String ->-                                       ArgsHMap "_contrib_quantized_fully_connected(symbol)" args ->-                                         IO SymbolHandle-_contrib_quantized_fully_connected name args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe SymbolHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe SymbolHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe SymbolHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe SymbolHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe SymbolHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_fully_connected"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantized_pooling(symbol)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),-        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("pooling_convention",-          AttrOpt (EnumType '["full", "same", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("p_value", AttrOpt (Maybe Int)),-        '("count_include_pad", AttrOpt (Maybe Bool)),-        '("data", AttrOpt SymbolHandle),-        '("min_data", AttrOpt SymbolHandle),-        '("max_data", AttrOpt SymbolHandle)]--_contrib_quantized_pooling ::-                           forall args .-                             Fullfilled "_contrib_quantized_pooling(symbol)" args =>-                             String ->-                               ArgsHMap "_contrib_quantized_pooling(symbol)" args ->-                                 IO SymbolHandle-_contrib_quantized_pooling name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "same", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe SymbolHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_pooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantized_concat(symbol)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--_contrib_quantized_concat ::-                          forall args .-                            Fullfilled "_contrib_quantized_concat(symbol)" args =>-                            String ->-                              ArgsHMap "_contrib_quantized_concat(symbol)" args ->-                                IO SymbolHandle-_contrib_quantized_concat name args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "_contrib_quantized_concat"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_contrib_requantize(symbol)" =-     '[ '("min_calib_range", AttrOpt (Maybe Float)),-        '("max_calib_range", AttrOpt (Maybe Float)),-        '("data", AttrOpt SymbolHandle),-        '("min_range", AttrOpt SymbolHandle),-        '("max_range", AttrOpt SymbolHandle)]--_contrib_requantize ::-                    forall args . Fullfilled "_contrib_requantize(symbol)" args =>-                      String ->-                        ArgsHMap "_contrib_requantize(symbol)" args -> IO SymbolHandle-_contrib_requantize name args-  = let scalarArgs-          = catMaybes-              [("min_calib_range",) . showValue <$>-                 (args !? #min_calib_range :: Maybe (Maybe Float)),-               ("max_calib_range",) . showValue <$>-                 (args !? #max_calib_range :: Maybe (Maybe Float))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe SymbolHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_requantize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantize(symbol)" =-     '[ '("out_type", AttrOpt (EnumType '["int8", "uint8"])),-        '("data", AttrOpt SymbolHandle),-        '("min_range", AttrOpt SymbolHandle),-        '("max_range", AttrOpt SymbolHandle)]--_contrib_quantize ::-                  forall args . Fullfilled "_contrib_quantize(symbol)" args =>-                    String ->-                      ArgsHMap "_contrib_quantize(symbol)" args -> IO SymbolHandle-_contrib_quantize name args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["int8", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe SymbolHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_cvimread(symbol)" =-     '[ '("filename", AttrReq String), '("flag", AttrOpt Int),-        '("to_rgb", AttrOpt Bool)]--_cvimread ::-          forall args . Fullfilled "_cvimread(symbol)" args =>-            String -> ArgsHMap "_cvimread(symbol)" args -> IO SymbolHandle-_cvimread name args-  = let scalarArgs-          = catMaybes-              [("filename",) . showValue <$> (args !? #filename :: Maybe String),-               ("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimread"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_NoGradient(symbol)" = '[]--_NoGradient ::-            forall args . Fullfilled "_NoGradient(symbol)" args =>-              String -> ArgsHMap "_NoGradient(symbol)" args -> IO SymbolHandle-_NoGradient name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_NoGradient"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CachedOp(symbol)" =-     '[ '("data", AttrOpt [SymbolHandle])]--_CachedOp ::-          forall args . Fullfilled "_CachedOp(symbol)" args =>-            String -> ArgsHMap "_CachedOp(symbol)" args -> IO SymbolHandle-_CachedOp name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "_CachedOp"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_CachedOp(symbol)" = '[]--_backward_CachedOp ::-                   forall args . Fullfilled "_backward_CachedOp(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_CachedOp(symbol)" args -> IO SymbolHandle-_backward_CachedOp name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CachedOp"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "softmax_cross_entropy(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--softmax_cross_entropy ::-                      forall args . Fullfilled "softmax_cross_entropy(symbol)" args =>-                        String ->-                          ArgsHMap "softmax_cross_entropy(symbol)" args -> IO SymbolHandle-softmax_cross_entropy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax_cross_entropy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_softmax_cross_entropy(symbol)" = '[]--_backward_softmax_cross_entropy ::-                                forall args .-                                  Fullfilled "_backward_softmax_cross_entropy(symbol)" args =>-                                  String ->-                                    ArgsHMap "_backward_softmax_cross_entropy(symbol)" args ->-                                      IO SymbolHandle-_backward_softmax_cross_entropy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax_cross_entropy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Pad(symbol)" =-     '[ '("mode", AttrReq (EnumType '["constant", "edge", "reflect"])),-        '("pad_width", AttrReq [Int]), '("constant_value", AttrOpt Double),-        '("data", AttrOpt SymbolHandle)]--_Pad ::-     forall args . Fullfilled "_Pad(symbol)" args =>-       String -> ArgsHMap "_Pad(symbol)" args -> IO SymbolHandle-_Pad name args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["constant", "edge", "reflect"])),-               ("pad_width",) . showValue <$> (args !? #pad_width :: Maybe [Int]),-               ("constant_value",) . showValue <$>-                 (args !? #constant_value :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pad"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_foreach(symbol)" = '[]--_backward_foreach ::-                  forall args . Fullfilled "_backward_foreach(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_foreach(symbol)" args -> IO SymbolHandle-_backward_foreach name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_foreach"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_while_loop(symbol)" = '[]--_backward_while_loop ::-                     forall args . Fullfilled "_backward_while_loop(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_while_loop(symbol)" args -> IO SymbolHandle-_backward_while_loop name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_while_loop"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cond(symbol)" = '[]--_backward_cond ::-               forall args . Fullfilled "_backward_cond(symbol)" args =>-                 String -> ArgsHMap "_backward_cond(symbol)" args -> IO SymbolHandle-_backward_cond name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cond"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LeakyReLU(symbol)" =-     '[ '("act_type",-          AttrOpt (EnumType '["elu", "leaky", "prelu", "rrelu", "selu"])),-        '("slope", AttrOpt Float), '("lower_bound", AttrOpt Float),-        '("upper_bound", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle)]--_LeakyReLU ::-           forall args . Fullfilled "_LeakyReLU(symbol)" args =>-             String -> ArgsHMap "_LeakyReLU(symbol)" args -> IO SymbolHandle-_LeakyReLU name args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe (EnumType '["elu", "leaky", "prelu", "rrelu", "selu"])),-               ("slope",) . showValue <$> (args !? #slope :: Maybe Float),-               ("lower_bound",) . showValue <$>-                 (args !? #lower_bound :: Maybe Float),-               ("upper_bound",) . showValue <$>-                 (args !? #upper_bound :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LeakyReLU"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SwapAxis(symbol)" =-     '[ '("dim1", AttrOpt Int), '("dim2", AttrOpt Int),-        '("data", AttrOpt SymbolHandle)]--_SwapAxis ::-          forall args . Fullfilled "_SwapAxis(symbol)" args =>-            String -> ArgsHMap "_SwapAxis(symbol)" args -> IO SymbolHandle-_SwapAxis name args-  = let scalarArgs-          = catMaybes-              [("dim1",) . showValue <$> (args !? #dim1 :: Maybe Int),-               ("dim2",) . showValue <$> (args !? #dim2 :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SwapAxis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_IdentityAttachKLSparseReg(symbol)" =-     '[ '("sparseness_target", AttrOpt Float),-        '("penalty", AttrOpt Float), '("momentum", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_IdentityAttachKLSparseReg ::-                           forall args .-                             Fullfilled "_IdentityAttachKLSparseReg(symbol)" args =>-                             String ->-                               ArgsHMap "_IdentityAttachKLSparseReg(symbol)" args ->-                                 IO SymbolHandle-_IdentityAttachKLSparseReg name args-  = let scalarArgs-          = catMaybes-              [("sparseness_target",) . showValue <$>-                 (args !? #sparseness_target :: Maybe Float),-               ("penalty",) . showValue <$> (args !? #penalty :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "IdentityAttachKLSparseReg"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SliceChannel(symbol)" =-     '[ '("num_outputs", AttrReq Int), '("axis", AttrOpt Int),-        '("squeeze_axis", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--_SliceChannel ::-              forall args . Fullfilled "_SliceChannel(symbol)" args =>-                String -> ArgsHMap "_SliceChannel(symbol)" args -> IO SymbolHandle-_SliceChannel name args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SliceChannel"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BatchNorm_v1(symbol)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle), '("gamma", AttrOpt SymbolHandle),-        '("beta", AttrOpt SymbolHandle)]--_BatchNorm_v1 ::-              forall args . Fullfilled "_BatchNorm_v1(symbol)" args =>-                String -> ArgsHMap "_BatchNorm_v1(symbol)" args -> IO SymbolHandle-_BatchNorm_v1 name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "signsgd_update(symbol)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle)]--signsgd_update ::-               forall args . Fullfilled "signsgd_update(symbol)" args =>-                 String -> ArgsHMap "signsgd_update(symbol)" args -> IO SymbolHandle-signsgd_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signsgd_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "signum_update(symbol)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("wd_lh", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mom", AttrOpt SymbolHandle)]--signum_update ::-              forall args . Fullfilled "signum_update(symbol)" args =>-                String -> ArgsHMap "signum_update(symbol)" args -> IO SymbolHandle-signum_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("wd_lh",) . showValue <$> (args !? #wd_lh :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mom",) <$> (args !? #mom :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signum_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sgd_update(symbol)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle)]--sgd_update ::-           forall args . Fullfilled "sgd_update(symbol)" args =>-             String -> ArgsHMap "sgd_update(symbol)" args -> IO SymbolHandle-sgd_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sgd_mom_update(symbol)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mom", AttrOpt SymbolHandle)]--sgd_mom_update ::-               forall args . Fullfilled "sgd_mom_update(symbol)" args =>-                 String -> ArgsHMap "sgd_mom_update(symbol)" args -> IO SymbolHandle-sgd_mom_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mom",) <$> (args !? #mom :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_mom_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "mp_sgd_update(symbol)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("weight32", AttrOpt SymbolHandle)]--mp_sgd_update ::-              forall args . Fullfilled "mp_sgd_update(symbol)" args =>-                String -> ArgsHMap "mp_sgd_update(symbol)" args -> IO SymbolHandle-mp_sgd_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "mp_sgd_mom_update(symbol)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mom", AttrOpt SymbolHandle),-        '("weight32", AttrOpt SymbolHandle)]--mp_sgd_mom_update ::-                  forall args . Fullfilled "mp_sgd_mom_update(symbol)" args =>-                    String ->-                      ArgsHMap "mp_sgd_mom_update(symbol)" args -> IO SymbolHandle-mp_sgd_mom_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mom",) <$> (args !? #mom :: Maybe SymbolHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_mom_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ftml_update(symbol)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Double),-        '("t", AttrReq Int), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float), '("clip_grad", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("d", AttrOpt SymbolHandle), '("v", AttrOpt SymbolHandle),-        '("z", AttrOpt SymbolHandle)]--ftml_update ::-            forall args . Fullfilled "ftml_update(symbol)" args =>-              String -> ArgsHMap "ftml_update(symbol)" args -> IO SymbolHandle-ftml_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Double),-               ("t",) . showValue <$> (args !? #t :: Maybe Int),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_grad",) . showValue <$> (args !? #clip_grad :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("d",) <$> (args !? #d :: Maybe SymbolHandle),-               ("v",) <$> (args !? #v :: Maybe SymbolHandle),-               ("z",) <$> (args !? #z :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftml_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "adam_update(symbol)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mean", AttrOpt SymbolHandle), '("var", AttrOpt SymbolHandle)]--adam_update ::-            forall args . Fullfilled "adam_update(symbol)" args =>-              String -> ArgsHMap "adam_update(symbol)" args -> IO SymbolHandle-adam_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mean",) <$> (args !? #mean :: Maybe SymbolHandle),-               ("var",) <$> (args !? #var :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "adam_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rmsprop_update(symbol)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("epsilon", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("n", AttrOpt SymbolHandle)]--rmsprop_update ::-               forall args . Fullfilled "rmsprop_update(symbol)" args =>-                 String -> ArgsHMap "rmsprop_update(symbol)" args -> IO SymbolHandle-rmsprop_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("n",) <$> (args !? #n :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmsprop_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rmspropalex_update(symbol)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("gamma2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("n", AttrOpt SymbolHandle), '("g", AttrOpt SymbolHandle),-        '("delta", AttrOpt SymbolHandle)]--rmspropalex_update ::-                   forall args . Fullfilled "rmspropalex_update(symbol)" args =>-                     String ->-                       ArgsHMap "rmspropalex_update(symbol)" args -> IO SymbolHandle-rmspropalex_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("gamma2",) . showValue <$> (args !? #gamma2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("n",) <$> (args !? #n :: Maybe SymbolHandle),-               ("g",) <$> (args !? #g :: Maybe SymbolHandle),-               ("delta",) <$> (args !? #delta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmspropalex_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ftrl_update(symbol)" =-     '[ '("lr", AttrReq Float), '("lamda1", AttrOpt Float),-        '("beta", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("z", AttrOpt SymbolHandle), '("n", AttrOpt SymbolHandle)]--ftrl_update ::-            forall args . Fullfilled "ftrl_update(symbol)" args =>-              String -> ArgsHMap "ftrl_update(symbol)" args -> IO SymbolHandle-ftrl_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("lamda1",) . showValue <$> (args !? #lamda1 :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("z",) <$> (args !? #z :: Maybe SymbolHandle),-               ("n",) <$> (args !? #n :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftrl_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sparse_adagrad_update(symbol)" =-     '[ '("lr", AttrReq Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("history", AttrOpt SymbolHandle)]--_sparse_adagrad_update ::-                       forall args . Fullfilled "_sparse_adagrad_update(symbol)" args =>-                         String ->-                           ArgsHMap "_sparse_adagrad_update(symbol)" args -> IO SymbolHandle-_sparse_adagrad_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("history",) <$> (args !? #history :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_adagrad_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LinearRegressionOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_LinearRegressionOutput ::-                        forall args . Fullfilled "_LinearRegressionOutput(symbol)" args =>-                          String ->-                            ArgsHMap "_LinearRegressionOutput(symbol)" args -> IO SymbolHandle-_LinearRegressionOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LinearRegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linear_reg_out(symbol)" =-     '[]--_backward_linear_reg_out ::-                         forall args . Fullfilled "_backward_linear_reg_out(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_linear_reg_out(symbol)" args -> IO SymbolHandle-_backward_linear_reg_out name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linear_reg_out"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_MAERegressionOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_MAERegressionOutput ::-                     forall args . Fullfilled "_MAERegressionOutput(symbol)" args =>-                       String ->-                         ArgsHMap "_MAERegressionOutput(symbol)" args -> IO SymbolHandle-_MAERegressionOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MAERegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mae_reg_out(symbol)" = '[]--_backward_mae_reg_out ::-                      forall args . Fullfilled "_backward_mae_reg_out(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_mae_reg_out(symbol)" args -> IO SymbolHandle-_backward_mae_reg_out name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mae_reg_out"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LogisticRegressionOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_LogisticRegressionOutput ::-                          forall args .-                            Fullfilled "_LogisticRegressionOutput(symbol)" args =>-                            String ->-                              ArgsHMap "_LogisticRegressionOutput(symbol)" args ->-                                IO SymbolHandle-_LogisticRegressionOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LogisticRegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_logistic_reg_out(symbol)" =-     '[]--_backward_logistic_reg_out ::-                           forall args .-                             Fullfilled "_backward_logistic_reg_out(symbol)" args =>-                             String ->-                               ArgsHMap "_backward_logistic_reg_out(symbol)" args ->-                                 IO SymbolHandle-_backward_logistic_reg_out name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_logistic_reg_out"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CustomFunction(symbol)" = '[]--_CustomFunction ::-                forall args . Fullfilled "_CustomFunction(symbol)" args =>-                  String ->-                    ArgsHMap "_CustomFunction(symbol)" args -> IO SymbolHandle-_CustomFunction name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CustomFunction"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_CustomFunction(symbol)" =-     '[]--_backward_CustomFunction ::-                         forall args . Fullfilled "_backward_CustomFunction(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_CustomFunction(symbol)" args -> IO SymbolHandle-_backward_CustomFunction name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CustomFunction"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__Native(symbol)" = '[]--_backward__Native ::-                  forall args . Fullfilled "_backward__Native(symbol)" args =>-                    String ->-                      ArgsHMap "_backward__Native(symbol)" args -> IO SymbolHandle-_backward__Native name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__Native"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__NDArray(symbol)" = '[]--_backward__NDArray ::-                   forall args . Fullfilled "_backward__NDArray(symbol)" args =>-                     String ->-                       ArgsHMap "_backward__NDArray(symbol)" args -> IO SymbolHandle-_backward__NDArray name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__NDArray"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiBoxTarget(symbol)" =-     '[ '("overlap_threshold", AttrOpt Float),-        '("ignore_label", AttrOpt Float),-        '("negative_mining_ratio", AttrOpt Float),-        '("negative_mining_thresh", AttrOpt Float),-        '("minimum_negative_samples", AttrOpt Int),-        '("variances", AttrOpt [Float]), '("anchor", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle),-        '("cls_pred", AttrOpt SymbolHandle)]--_contrib_MultiBoxTarget ::-                        forall args . Fullfilled "_contrib_MultiBoxTarget(symbol)" args =>-                          String ->-                            ArgsHMap "_contrib_MultiBoxTarget(symbol)" args -> IO SymbolHandle-_contrib_MultiBoxTarget name args-  = let scalarArgs-          = catMaybes-              [("overlap_threshold",) . showValue <$>-                 (args !? #overlap_threshold :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("negative_mining_ratio",) . showValue <$>-                 (args !? #negative_mining_ratio :: Maybe Float),-               ("negative_mining_thresh",) . showValue <$>-                 (args !? #negative_mining_thresh :: Maybe Float),-               ("minimum_negative_samples",) . showValue <$>-                 (args !? #minimum_negative_samples :: Maybe Int),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("anchor",) <$> (args !? #anchor :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle),-               ("cls_pred",) <$> (args !? #cls_pred :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxTarget"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiBoxTarget(symbol)" = '[]--_backward__contrib_MultiBoxTarget ::-                                  forall args .-                                    Fullfilled "_backward__contrib_MultiBoxTarget(symbol)" args =>-                                    String ->-                                      ArgsHMap "_backward__contrib_MultiBoxTarget(symbol)" args ->-                                        IO SymbolHandle-_backward__contrib_MultiBoxTarget name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxTarget"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_Proposal(symbol)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt SymbolHandle),-        '("bbox_pred", AttrOpt SymbolHandle),-        '("im_info", AttrOpt SymbolHandle)]--_contrib_Proposal ::-                  forall args . Fullfilled "_contrib_Proposal(symbol)" args =>-                    String ->-                      ArgsHMap "_contrib_Proposal(symbol)" args -> IO SymbolHandle-_contrib_Proposal name args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe SymbolHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe SymbolHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_Proposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_Proposal(symbol)" =-     '[]--_backward__contrib_Proposal ::-                            forall args .-                              Fullfilled "_backward__contrib_Proposal(symbol)" args =>-                              String ->-                                ArgsHMap "_backward__contrib_Proposal(symbol)" args ->-                                  IO SymbolHandle-_backward__contrib_Proposal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_Proposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_count_sketch(symbol)" =-     '[ '("out_dim", AttrReq Int),-        '("processing_batch_size", AttrOpt Int),-        '("data", AttrOpt SymbolHandle), '("h", AttrOpt SymbolHandle),-        '("s", AttrOpt SymbolHandle)]--_contrib_count_sketch ::-                      forall args . Fullfilled "_contrib_count_sketch(symbol)" args =>-                        String ->-                          ArgsHMap "_contrib_count_sketch(symbol)" args -> IO SymbolHandle-_contrib_count_sketch name args-  = let scalarArgs-          = catMaybes-              [("out_dim",) . showValue <$> (args !? #out_dim :: Maybe Int),-               ("processing_batch_size",) . showValue <$>-                 (args !? #processing_batch_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("h",) <$> (args !? #h :: Maybe SymbolHandle),-               ("s",) <$> (args !? #s :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_count_sketch"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_count_sketch(symbol)" = '[]--_backward__contrib_count_sketch ::-                                forall args .-                                  Fullfilled "_backward__contrib_count_sketch(symbol)" args =>-                                  String ->-                                    ArgsHMap "_backward__contrib_count_sketch(symbol)" args ->-                                      IO SymbolHandle-_backward__contrib_count_sketch name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_count_sketch"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiBoxDetection(symbol)" =-     '[ '("clip", AttrOpt Bool), '("threshold", AttrOpt Float),-        '("background_id", AttrOpt Int), '("nms_threshold", AttrOpt Float),-        '("force_suppress", AttrOpt Bool), '("variances", AttrOpt [Float]),-        '("nms_topk", AttrOpt Int), '("cls_prob", AttrOpt SymbolHandle),-        '("loc_pred", AttrOpt SymbolHandle),-        '("anchor", AttrOpt SymbolHandle)]--_contrib_MultiBoxDetection ::-                           forall args .-                             Fullfilled "_contrib_MultiBoxDetection(symbol)" args =>-                             String ->-                               ArgsHMap "_contrib_MultiBoxDetection(symbol)" args ->-                                 IO SymbolHandle-_contrib_MultiBoxDetection name args-  = let scalarArgs-          = catMaybes-              [("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("nms_threshold",) . showValue <$>-                 (args !? #nms_threshold :: Maybe Float),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float]),-               ("nms_topk",) . showValue <$> (args !? #nms_topk :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe SymbolHandle),-               ("loc_pred",) <$> (args !? #loc_pred :: Maybe SymbolHandle),-               ("anchor",) <$> (args !? #anchor :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxDetection"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiBoxDetection(symbol)" = '[]--_backward__contrib_MultiBoxDetection ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiBoxDetection(symbol)"-                                         args =>-                                       String ->-                                         ArgsHMap "_backward__contrib_MultiBoxDetection(symbol)"-                                           args-                                           -> IO SymbolHandle-_backward__contrib_MultiBoxDetection name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxDetection"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_contrib_DeformablePSROIPooling(symbol)" =-     '[ '("spatial_scale", AttrReq Float), '("output_dim", AttrReq Int),-        '("group_size", AttrReq Int), '("pooled_size", AttrReq Int),-        '("part_size", AttrOpt Int), '("sample_per_part", AttrOpt Int),-        '("trans_std", AttrOpt Float), '("no_trans", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle), '("rois", AttrOpt SymbolHandle),-        '("trans", AttrOpt SymbolHandle)]--_contrib_DeformablePSROIPooling ::-                                forall args .-                                  Fullfilled "_contrib_DeformablePSROIPooling(symbol)" args =>-                                  String ->-                                    ArgsHMap "_contrib_DeformablePSROIPooling(symbol)" args ->-                                      IO SymbolHandle-_contrib_DeformablePSROIPooling name args-  = let scalarArgs-          = catMaybes-              [("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("group_size",) . showValue <$> (args !? #group_size :: Maybe Int),-               ("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe Int),-               ("part_size",) . showValue <$> (args !? #part_size :: Maybe Int),-               ("sample_per_part",) . showValue <$>-                 (args !? #sample_per_part :: Maybe Int),-               ("trans_std",) . showValue <$> (args !? #trans_std :: Maybe Float),-               ("no_trans",) . showValue <$> (args !? #no_trans :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle),-               ("trans",) <$> (args !? #trans :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformablePSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_DeformablePSROIPooling(symbol)" =-     '[]--_backward__contrib_DeformablePSROIPooling ::-                                          forall args .-                                            Fullfilled-                                              "_backward__contrib_DeformablePSROIPooling(symbol)"-                                              args =>-                                            String ->-                                              ArgsHMap-                                                "_backward__contrib_DeformablePSROIPooling(symbol)"-                                                args-                                                -> IO SymbolHandle-_backward__contrib_DeformablePSROIPooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformablePSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_fft(symbol)" =-     '[ '("compute_size", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--_contrib_fft ::-             forall args . Fullfilled "_contrib_fft(symbol)" args =>-               String -> ArgsHMap "_contrib_fft(symbol)" args -> IO SymbolHandle-_contrib_fft name args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_fft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_fft(symbol)" = '[]--_backward__contrib_fft ::-                       forall args . Fullfilled "_backward__contrib_fft(symbol)" args =>-                         String ->-                           ArgsHMap "_backward__contrib_fft(symbol)" args -> IO SymbolHandle-_backward__contrib_fft name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_fft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiBoxPrior(symbol)" =-     '[ '("sizes", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("clip", AttrOpt Bool), '("steps", AttrOpt [Float]),-        '("offsets", AttrOpt [Float]), '("data", AttrOpt SymbolHandle)]--_contrib_MultiBoxPrior ::-                       forall args . Fullfilled "_contrib_MultiBoxPrior(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_MultiBoxPrior(symbol)" args -> IO SymbolHandle-_contrib_MultiBoxPrior name args-  = let scalarArgs-          = catMaybes-              [("sizes",) . showValue <$> (args !? #sizes :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("steps",) . showValue <$> (args !? #steps :: Maybe [Float]),-               ("offsets",) . showValue <$> (args !? #offsets :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxPrior"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiBoxPrior(symbol)" = '[]--_backward__contrib_MultiBoxPrior ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiBoxPrior(symbol)" args =>-                                   String ->-                                     ArgsHMap "_backward__contrib_MultiBoxPrior(symbol)" args ->-                                       IO SymbolHandle-_backward__contrib_MultiBoxPrior name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxPrior"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiProposal(symbol)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt SymbolHandle),-        '("bbox_pred", AttrOpt SymbolHandle),-        '("im_info", AttrOpt SymbolHandle)]--_contrib_MultiProposal ::-                       forall args . Fullfilled "_contrib_MultiProposal(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_MultiProposal(symbol)" args -> IO SymbolHandle-_contrib_MultiProposal name args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe SymbolHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe SymbolHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiProposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiProposal(symbol)" = '[]--_backward__contrib_MultiProposal ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiProposal(symbol)" args =>-                                   String ->-                                     ArgsHMap "_backward__contrib_MultiProposal(symbol)" args ->-                                       IO SymbolHandle-_backward__contrib_MultiProposal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiProposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_PSROIPooling(symbol)" =-     '[ '("spatial_scale", AttrReq Float), '("output_dim", AttrReq Int),-        '("pooled_size", AttrReq Int), '("group_size", AttrOpt Int),-        '("data", AttrOpt SymbolHandle), '("rois", AttrOpt SymbolHandle)]--_contrib_PSROIPooling ::-                      forall args . Fullfilled "_contrib_PSROIPooling(symbol)" args =>-                        String ->-                          ArgsHMap "_contrib_PSROIPooling(symbol)" args -> IO SymbolHandle-_contrib_PSROIPooling name args-  = let scalarArgs-          = catMaybes-              [("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe Int),-               ("group_size",) . showValue <$> (args !? #group_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_PSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_PSROIPooling(symbol)" = '[]--_backward__contrib_PSROIPooling ::-                                forall args .-                                  Fullfilled "_backward__contrib_PSROIPooling(symbol)" args =>-                                  String ->-                                    ArgsHMap "_backward__contrib_PSROIPooling(symbol)" args ->-                                      IO SymbolHandle-_backward__contrib_PSROIPooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_PSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_contrib_DeformableConvolution(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("num_deformable_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("layout", AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NCW"]))),-        '("data", AttrOpt SymbolHandle), '("offset", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle), '("bias", AttrOpt SymbolHandle)]--_contrib_DeformableConvolution ::-                               forall args .-                                 Fullfilled "_contrib_DeformableConvolution(symbol)" args =>-                                 String ->-                                   ArgsHMap "_contrib_DeformableConvolution(symbol)" args ->-                                     IO SymbolHandle-_contrib_DeformableConvolution name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("num_deformable_group",) . showValue <$>-                 (args !? #num_deformable_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NCW"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("offset",) <$> (args !? #offset :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformableConvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_DeformableConvolution(symbol)" =-     '[]--_backward__contrib_DeformableConvolution ::-                                         forall args .-                                           Fullfilled-                                             "_backward__contrib_DeformableConvolution(symbol)"-                                             args =>-                                           String ->-                                             ArgsHMap-                                               "_backward__contrib_DeformableConvolution(symbol)"-                                               args-                                               -> IO SymbolHandle-_backward__contrib_DeformableConvolution name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformableConvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_ifft(symbol)" =-     '[ '("compute_size", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--_contrib_ifft ::-              forall args . Fullfilled "_contrib_ifft(symbol)" args =>-                String -> ArgsHMap "_contrib_ifft(symbol)" args -> IO SymbolHandle-_contrib_ifft name args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ifft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_ifft(symbol)" = '[]--_backward__contrib_ifft ::-                        forall args . Fullfilled "_backward__contrib_ifft(symbol)" args =>-                          String ->-                            ArgsHMap "_backward__contrib_ifft(symbol)" args -> IO SymbolHandle-_backward__contrib_ifft name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_ifft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_SyncBatchNorm(symbol)" = '[]--_backward__contrib_SyncBatchNorm ::-                                 forall args .-                                   Fullfilled "_backward__contrib_SyncBatchNorm(symbol)" args =>-                                   String ->-                                     ArgsHMap "_backward__contrib_SyncBatchNorm(symbol)" args ->-                                       IO SymbolHandle-_backward__contrib_SyncBatchNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_SyncBatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_InstanceNorm(symbol)" =-     '[ '("eps", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle)]--_InstanceNorm ::-              forall args . Fullfilled "_InstanceNorm(symbol)" args =>-                String -> ArgsHMap "_InstanceNorm(symbol)" args -> IO SymbolHandle-_InstanceNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "InstanceNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_InstanceNorm(symbol)" = '[]--_backward_InstanceNorm ::-                       forall args . Fullfilled "_backward_InstanceNorm(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_InstanceNorm(symbol)" args -> IO SymbolHandle-_backward_InstanceNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_InstanceNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SVMOutput(symbol)" =-     '[ '("margin", AttrOpt Float),-        '("regularization_coefficient", AttrOpt Float),-        '("use_linear", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_SVMOutput ::-           forall args . Fullfilled "_SVMOutput(symbol)" args =>-             String -> ArgsHMap "_SVMOutput(symbol)" args -> IO SymbolHandle-_SVMOutput name args-  = let scalarArgs-          = catMaybes-              [("margin",) . showValue <$> (args !? #margin :: Maybe Float),-               ("regularization_coefficient",) . showValue <$>-                 (args !? #regularization_coefficient :: Maybe Float),-               ("use_linear",) . showValue <$>-                 (args !? #use_linear :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SVMOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SVMOutput(symbol)" = '[]--_backward_SVMOutput ::-                    forall args . Fullfilled "_backward_SVMOutput(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_SVMOutput(symbol)" args -> IO SymbolHandle-_backward_SVMOutput name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SVMOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_GridGenerator(symbol)" =-     '[ '("transform_type", AttrReq (EnumType '["affine", "warp"])),-        '("target_shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--_GridGenerator ::-               forall args . Fullfilled "_GridGenerator(symbol)" args =>-                 String -> ArgsHMap "_GridGenerator(symbol)" args -> IO SymbolHandle-_GridGenerator name args-  = let scalarArgs-          = catMaybes-              [("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine", "warp"])),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "GridGenerator"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_GridGenerator(symbol)" = '[]--_backward_GridGenerator ::-                        forall args . Fullfilled "_backward_GridGenerator(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_GridGenerator(symbol)" args -> IO SymbolHandle-_backward_GridGenerator name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_GridGenerator"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Pad(symbol)" = '[]--_backward_Pad ::-              forall args . Fullfilled "_backward_Pad(symbol)" args =>-                String -> ArgsHMap "_backward_Pad(symbol)" args -> IO SymbolHandle-_backward_Pad name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pad"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Convolution_v1(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle)]--_Convolution_v1 ::-                forall args . Fullfilled "_Convolution_v1(symbol)" args =>-                  String ->-                    ArgsHMap "_Convolution_v1(symbol)" args -> IO SymbolHandle-_Convolution_v1 name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Convolution_v1(symbol)" =-     '[]--_backward_Convolution_v1 ::-                         forall args . Fullfilled "_backward_Convolution_v1(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_Convolution_v1(symbol)" args -> IO SymbolHandle-_backward_Convolution_v1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SequenceReverse(symbol)" =-     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),-        '("data", AttrOpt SymbolHandle),-        '("sequence_length", AttrOpt SymbolHandle)]--_SequenceReverse ::-                 forall args . Fullfilled "_SequenceReverse(symbol)" args =>-                   String ->-                     ArgsHMap "_SequenceReverse(symbol)" args -> IO SymbolHandle-_SequenceReverse name args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceReverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SequenceReverse(symbol)" =-     '[]--_backward_SequenceReverse ::-                          forall args .-                            Fullfilled "_backward_SequenceReverse(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_SequenceReverse(symbol)" args ->-                                IO SymbolHandle-_backward_SequenceReverse name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceReverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SoftmaxOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt SymbolHandle), '("label", AttrOpt SymbolHandle)]--_SoftmaxOutput ::-               forall args . Fullfilled "_SoftmaxOutput(symbol)" args =>-                 String -> ArgsHMap "_SoftmaxOutput(symbol)" args -> IO SymbolHandle-_SoftmaxOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SoftmaxOutput(symbol)" = '[]--_backward_SoftmaxOutput ::-                        forall args . Fullfilled "_backward_SoftmaxOutput(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_SoftmaxOutput(symbol)" args -> IO SymbolHandle-_backward_SoftmaxOutput name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Softmax(symbol)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_Softmax ::-         forall args . Fullfilled "_Softmax(symbol)" args =>-           String -> ArgsHMap "_Softmax(symbol)" args -> IO SymbolHandle-_Softmax name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Softmax(symbol)" = '[]--_backward_Softmax ::-                  forall args . Fullfilled "_backward_Softmax(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_Softmax(symbol)" args -> IO SymbolHandle-_backward_Softmax name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BilinearSampler(symbol)" =-     '[ '("cudnn_off", AttrOpt (Maybe Bool)),-        '("data", AttrOpt SymbolHandle), '("grid", AttrOpt SymbolHandle)]--_BilinearSampler ::-                 forall args . Fullfilled "_BilinearSampler(symbol)" args =>-                   String ->-                     ArgsHMap "_BilinearSampler(symbol)" args -> IO SymbolHandle-_BilinearSampler name args-  = let scalarArgs-          = catMaybes-              [("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("grid",) <$> (args !? #grid :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BilinearSampler"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_BilinearSampler(symbol)" =-     '[]--_backward_BilinearSampler ::-                          forall args .-                            Fullfilled "_backward_BilinearSampler(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_BilinearSampler(symbol)" args ->-                                IO SymbolHandle-_backward_BilinearSampler name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BilinearSampler"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_LeakyReLU(symbol)" = '[]--_backward_LeakyReLU ::-                    forall args . Fullfilled "_backward_LeakyReLU(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_LeakyReLU(symbol)" args -> IO SymbolHandle-_backward_LeakyReLU name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LeakyReLU"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Crop(symbol)" =-     '[ '("num_args", AttrReq Int), '("offset", AttrOpt [Int]),-        '("h_w", AttrOpt [Int]), '("center_crop", AttrOpt Bool),-        '("data", AttrOpt [SymbolHandle])]--_Crop ::-      forall args . Fullfilled "_Crop(symbol)" args =>-        String -> ArgsHMap "_Crop(symbol)" args -> IO SymbolHandle-_Crop name args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("offset",) . showValue <$> (args !? #offset :: Maybe [Int]),-               ("h_w",) . showValue <$> (args !? #h_w :: Maybe [Int]),-               ("center_crop",) . showValue <$>-                 (args !? #center_crop :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "Crop"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_Crop(symbol)" = '[]--_backward_Crop ::-               forall args . Fullfilled "_backward_Crop(symbol)" args =>-                 String -> ArgsHMap "_backward_Crop(symbol)" args -> IO SymbolHandle-_backward_Crop name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Crop"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_ROIPooling(symbol)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float), '("data", AttrOpt SymbolHandle),-        '("rois", AttrOpt SymbolHandle)]--_ROIPooling ::-            forall args . Fullfilled "_ROIPooling(symbol)" args =>-              String -> ArgsHMap "_ROIPooling(symbol)" args -> IO SymbolHandle-_ROIPooling name args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_ROIPooling(symbol)" = '[]--_backward_ROIPooling ::-                     forall args . Fullfilled "_backward_ROIPooling(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_ROIPooling(symbol)" args -> IO SymbolHandle-_backward_ROIPooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SequenceLast(symbol)" =-     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),-        '("data", AttrOpt SymbolHandle),-        '("sequence_length", AttrOpt SymbolHandle)]--_SequenceLast ::-              forall args . Fullfilled "_SequenceLast(symbol)" args =>-                String -> ArgsHMap "_SequenceLast(symbol)" args -> IO SymbolHandle-_SequenceLast name args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceLast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SequenceLast(symbol)" = '[]--_backward_SequenceLast ::-                       forall args . Fullfilled "_backward_SequenceLast(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_SequenceLast(symbol)" args -> IO SymbolHandle-_backward_SequenceLast name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceLast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CrossDeviceCopy(symbol)" = '[]--_CrossDeviceCopy ::-                 forall args . Fullfilled "_CrossDeviceCopy(symbol)" args =>-                   String ->-                     ArgsHMap "_CrossDeviceCopy(symbol)" args -> IO SymbolHandle-_CrossDeviceCopy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CrossDeviceCopy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__CrossDeviceCopy(symbol)" =-     '[]--_backward__CrossDeviceCopy ::-                           forall args .-                             Fullfilled "_backward__CrossDeviceCopy(symbol)" args =>-                             String ->-                               ArgsHMap "_backward__CrossDeviceCopy(symbol)" args ->-                                 IO SymbolHandle-_backward__CrossDeviceCopy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__CrossDeviceCopy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SpatialTransformer(symbol)" =-     '[ '("target_shape", AttrOpt [Int]),-        '("transform_type", AttrReq (EnumType '["affine"])),-        '("sampler_type", AttrReq (EnumType '["bilinear"])),-        '("cudnn_off", AttrOpt (Maybe Bool)),-        '("data", AttrOpt SymbolHandle), '("loc", AttrOpt SymbolHandle)]--_SpatialTransformer ::-                    forall args . Fullfilled "_SpatialTransformer(symbol)" args =>-                      String ->-                        ArgsHMap "_SpatialTransformer(symbol)" args -> IO SymbolHandle-_SpatialTransformer name args-  = let scalarArgs-          = catMaybes-              [("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine"])),-               ("sampler_type",) . showValue <$>-                 (args !? #sampler_type :: Maybe (EnumType '["bilinear"])),-               ("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("loc",) <$> (args !? #loc :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SpatialTransformer"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SpatialTransformer(symbol)"-     = '[]--_backward_SpatialTransformer ::-                             forall args .-                               Fullfilled "_backward_SpatialTransformer(symbol)" args =>-                               String ->-                                 ArgsHMap "_backward_SpatialTransformer(symbol)" args ->-                                   IO SymbolHandle-_backward_SpatialTransformer name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SpatialTransformer"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SwapAxis(symbol)" = '[]--_backward_SwapAxis ::-                   forall args . Fullfilled "_backward_SwapAxis(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_SwapAxis(symbol)" args -> IO SymbolHandle-_backward_SwapAxis name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SwapAxis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_L2Normalization(symbol)" =-     '[ '("eps", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["channel", "instance", "spatial"])),-        '("data", AttrOpt SymbolHandle)]--_L2Normalization ::-                 forall args . Fullfilled "_L2Normalization(symbol)" args =>-                   String ->-                     ArgsHMap "_L2Normalization(symbol)" args -> IO SymbolHandle-_L2Normalization name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["channel", "instance", "spatial"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "L2Normalization"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_L2Normalization(symbol)" =-     '[]--_backward_L2Normalization ::-                          forall args .-                            Fullfilled "_backward_L2Normalization(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_L2Normalization(symbol)" args ->-                                IO SymbolHandle-_backward_L2Normalization name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_L2Normalization"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Correlation(symbol)" =-     '[ '("kernel_size", AttrOpt Int),-        '("max_displacement", AttrOpt Int), '("stride1", AttrOpt Int),-        '("stride2", AttrOpt Int), '("pad_size", AttrOpt Int),-        '("is_multiply", AttrOpt Bool), '("data1", AttrOpt SymbolHandle),-        '("data2", AttrOpt SymbolHandle)]--_Correlation ::-             forall args . Fullfilled "_Correlation(symbol)" args =>-               String -> ArgsHMap "_Correlation(symbol)" args -> IO SymbolHandle-_Correlation name args-  = let scalarArgs-          = catMaybes-              [("kernel_size",) . showValue <$>-                 (args !? #kernel_size :: Maybe Int),-               ("max_displacement",) . showValue <$>-                 (args !? #max_displacement :: Maybe Int),-               ("stride1",) . showValue <$> (args !? #stride1 :: Maybe Int),-               ("stride2",) . showValue <$> (args !? #stride2 :: Maybe Int),-               ("pad_size",) . showValue <$> (args !? #pad_size :: Maybe Int),-               ("is_multiply",) . showValue <$>-                 (args !? #is_multiply :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data1",) <$> (args !? #data1 :: Maybe SymbolHandle),-               ("data2",) <$> (args !? #data2 :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Correlation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Correlation(symbol)" = '[]--_backward_Correlation ::-                      forall args . Fullfilled "_backward_Correlation(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_Correlation(symbol)" args -> IO SymbolHandle-_backward_Correlation name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Correlation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_IdentityAttachKLSparseReg(symbol)" = '[]--_backward_IdentityAttachKLSparseReg ::-                                    forall args .-                                      Fullfilled "_backward_IdentityAttachKLSparseReg(symbol)"-                                        args =>-                                      String ->-                                        ArgsHMap "_backward_IdentityAttachKLSparseReg(symbol)" args-                                          -> IO SymbolHandle-_backward_IdentityAttachKLSparseReg name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_IdentityAttachKLSparseReg"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_MakeLoss(symbol)" =-     '[ '("grad_scale", AttrOpt Float),-        '("valid_thresh", AttrOpt Float),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("data", AttrOpt SymbolHandle)]--_MakeLoss ::-          forall args . Fullfilled "_MakeLoss(symbol)" args =>-            String -> ArgsHMap "_MakeLoss(symbol)" args -> IO SymbolHandle-_MakeLoss name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MakeLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_MakeLoss(symbol)" = '[]--_backward_MakeLoss ::-                   forall args . Fullfilled "_backward_MakeLoss(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_MakeLoss(symbol)" args -> IO SymbolHandle-_backward_MakeLoss name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MakeLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SliceChannel(symbol)" = '[]--_backward_SliceChannel ::-                       forall args . Fullfilled "_backward_SliceChannel(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_SliceChannel(symbol)" args -> IO SymbolHandle-_backward_SliceChannel name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SliceChannel"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_RNN(symbol)" =-     '[ '("state_size", AttrReq Int), '("num_layers", AttrReq Int),-        '("bidirectional", AttrOpt Bool),-        '("mode",-          AttrReq (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-        '("p", AttrOpt Float), '("state_outputs", AttrOpt Bool),-        '("projection_size", AttrOpt (Maybe Int)),-        '("lstm_state_clip_min", AttrOpt (Maybe Double)),-        '("lstm_state_clip_max", AttrOpt (Maybe Double)),-        '("lstm_state_clip_nan", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle),-        '("parameters", AttrOpt SymbolHandle),-        '("state", AttrOpt SymbolHandle),-        '("state_cell", AttrOpt SymbolHandle)]--_RNN ::-     forall args . Fullfilled "_RNN(symbol)" args =>-       String -> ArgsHMap "_RNN(symbol)" args -> IO SymbolHandle-_RNN name args-  = let scalarArgs-          = catMaybes-              [("state_size",) . showValue <$>-                 (args !? #state_size :: Maybe Int),-               ("num_layers",) . showValue <$> (args !? #num_layers :: Maybe Int),-               ("bidirectional",) . showValue <$>-                 (args !? #bidirectional :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("state_outputs",) . showValue <$>-                 (args !? #state_outputs :: Maybe Bool),-               ("projection_size",) . showValue <$>-                 (args !? #projection_size :: Maybe (Maybe Int)),-               ("lstm_state_clip_min",) . showValue <$>-                 (args !? #lstm_state_clip_min :: Maybe (Maybe Double)),-               ("lstm_state_clip_max",) . showValue <$>-                 (args !? #lstm_state_clip_max :: Maybe (Maybe Double)),-               ("lstm_state_clip_nan",) . showValue <$>-                 (args !? #lstm_state_clip_nan :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("parameters",) <$> (args !? #parameters :: Maybe SymbolHandle),-               ("state",) <$> (args !? #state :: Maybe SymbolHandle),-               ("state_cell",) <$> (args !? #state_cell :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "RNN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_RNN(symbol)" = '[]--_backward_RNN ::-              forall args . Fullfilled "_backward_RNN(symbol)" args =>-                String -> ArgsHMap "_backward_RNN(symbol)" args -> IO SymbolHandle-_backward_RNN name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_RNN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Pooling_v1(symbol)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "max", "sum"])),-        '("global_pool", AttrOpt Bool),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--_Pooling_v1 ::-            forall args . Fullfilled "_Pooling_v1(symbol)" args =>-              String -> ArgsHMap "_Pooling_v1(symbol)" args -> IO SymbolHandle-_Pooling_v1 name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Pooling_v1(symbol)" = '[]--_backward_Pooling_v1 ::-                     forall args . Fullfilled "_backward_Pooling_v1(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_Pooling_v1(symbol)" args -> IO SymbolHandle-_backward_Pooling_v1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_BatchNorm_v1(symbol)" = '[]--_backward_BatchNorm_v1 ::-                       forall args . Fullfilled "_backward_BatchNorm_v1(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_BatchNorm_v1(symbol)" args -> IO SymbolHandle-_backward_BatchNorm_v1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SequenceMask(symbol)" =-     '[ '("use_sequence_length", AttrOpt Bool),-        '("value", AttrOpt Float), '("axis", AttrOpt Int),-        '("data", AttrOpt SymbolHandle),-        '("sequence_length", AttrOpt SymbolHandle)]--_SequenceMask ::-              forall args . Fullfilled "_SequenceMask(symbol)" args =>-                String -> ArgsHMap "_SequenceMask(symbol)" args -> IO SymbolHandle-_SequenceMask name args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("value",) . showValue <$> (args !? #value :: Maybe Float),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceMask"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SequenceMask(symbol)" = '[]--_backward_SequenceMask ::-                       forall args . Fullfilled "_backward_SequenceMask(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_SequenceMask(symbol)" args -> IO SymbolHandle-_backward_SequenceMask name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceMask"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_set_value(symbol)" =-     '[ '("src", AttrOpt Float)]--_set_value ::-           forall args . Fullfilled "_set_value(symbol)" args =>-             String -> ArgsHMap "_set_value(symbol)" args -> IO SymbolHandle-_set_value name args-  = let scalarArgs-          = catMaybes-              [("src",) . showValue <$> (args !? #src :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_set_value"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_imdecode(symbol)" =-     '[ '("index", AttrOpt Int), '("x0", AttrOpt Int),-        '("y0", AttrOpt Int), '("x1", AttrOpt Int), '("y1", AttrOpt Int),-        '("c", AttrOpt Int), '("size", AttrOpt Int),-        '("mean", AttrOpt SymbolHandle)]--_imdecode ::-          forall args . Fullfilled "_imdecode(symbol)" args =>-            String -> ArgsHMap "_imdecode(symbol)" args -> IO SymbolHandle-_imdecode name args-  = let scalarArgs-          = catMaybes-              [("index",) . showValue <$> (args !? #index :: Maybe Int),-               ("x0",) . showValue <$> (args !? #x0 :: Maybe Int),-               ("y0",) . showValue <$> (args !? #y0 :: Maybe Int),-               ("x1",) . showValue <$> (args !? #x1 :: Maybe Int),-               ("y1",) . showValue <$> (args !? #y1 :: Maybe Int),-               ("c",) . showValue <$> (args !? #c :: Maybe Int),-               ("size",) . showValue <$> (args !? #size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("mean",) <$> (args !? #mean :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_imdecode"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym
− ops/1.5/MXNet/Base/Operators/NDArray.hs
@@ -1,23053 +0,0 @@-module MXNet.Base.Operators.NDArray where-import MXNet.Base.Raw-import MXNet.Base.Spec.Operator-import MXNet.Base.Spec.HMap-import Data.Maybe (catMaybes, fromMaybe)--type instance ParameterList "_CuDNNBatchNorm(ndarray)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle),-        '("moving_mean", AttrOpt NDArrayHandle),-        '("moving_var", AttrOpt NDArrayHandle)]--_CuDNNBatchNorm ::-                forall args . Fullfilled "_CuDNNBatchNorm(ndarray)" args =>-                  ArgsHMap "_CuDNNBatchNorm(ndarray)" args -> IO [NDArrayHandle]-_CuDNNBatchNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CuDNNBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CuDNNBatchNorm_upd ::-                    forall args . Fullfilled "_CuDNNBatchNorm(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_CuDNNBatchNorm(ndarray)" args -> IO ()-_CuDNNBatchNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CuDNNBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_CuDNNBatchNorm(ndarray)" =-     '[]--_backward_CuDNNBatchNorm ::-                         forall args .-                           Fullfilled "_backward_CuDNNBatchNorm(ndarray)" args =>-                           ArgsHMap "_backward_CuDNNBatchNorm(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_CuDNNBatchNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CuDNNBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_CuDNNBatchNorm_upd ::-                             forall args .-                               Fullfilled "_backward_CuDNNBatchNorm(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_CuDNNBatchNorm(ndarray)" args -> IO ()-_backward_CuDNNBatchNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CuDNNBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_multinomial(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("get_prob", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--_sample_multinomial ::-                    forall args . Fullfilled "_sample_multinomial(ndarray)" args =>-                      ArgsHMap "_sample_multinomial(ndarray)" args -> IO [NDArrayHandle]-_sample_multinomial args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("get_prob",) . showValue <$> (args !? #get_prob :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_multinomial_upd ::-                        forall args . Fullfilled "_sample_multinomial(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_sample_multinomial(ndarray)" args -> IO ()-_sample_multinomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("get_prob",) . showValue <$> (args !? #get_prob :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sample_multinomial(ndarray)"-     = '[]--_backward_sample_multinomial ::-                             forall args .-                               Fullfilled "_backward_sample_multinomial(ndarray)" args =>-                               ArgsHMap "_backward_sample_multinomial(ndarray)" args ->-                                 IO [NDArrayHandle]-_backward_sample_multinomial args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sample_multinomial_upd ::-                                 forall args .-                                   Fullfilled "_backward_sample_multinomial(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_backward_sample_multinomial(ndarray)" args -> IO ()-_backward_sample_multinomial_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sample_multinomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_uniform(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("low", AttrOpt NDArrayHandle), '("high", AttrOpt NDArrayHandle)]--_sample_uniform ::-                forall args . Fullfilled "_sample_uniform(ndarray)" args =>-                  ArgsHMap "_sample_uniform(ndarray)" args -> IO [NDArrayHandle]-_sample_uniform args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("low",) <$> (args !? #low :: Maybe NDArrayHandle),-               ("high",) <$> (args !? #high :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_uniform_upd ::-                    forall args . Fullfilled "_sample_uniform(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_sample_uniform(ndarray)" args -> IO ()-_sample_uniform_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("low",) <$> (args !? #low :: Maybe NDArrayHandle),-               ("high",) <$> (args !? #high :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_normal(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt NDArrayHandle), '("sigma", AttrOpt NDArrayHandle)]--_sample_normal ::-               forall args . Fullfilled "_sample_normal(ndarray)" args =>-                 ArgsHMap "_sample_normal(ndarray)" args -> IO [NDArrayHandle]-_sample_normal args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("sigma",) <$> (args !? #sigma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_normal_upd ::-                   forall args . Fullfilled "_sample_normal(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_sample_normal(ndarray)" args -> IO ()-_sample_normal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("sigma",) <$> (args !? #sigma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_gamma(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("alpha", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_sample_gamma ::-              forall args . Fullfilled "_sample_gamma(ndarray)" args =>-                ArgsHMap "_sample_gamma(ndarray)" args -> IO [NDArrayHandle]-_sample_gamma args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_gamma_upd ::-                  forall args . Fullfilled "_sample_gamma(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_sample_gamma(ndarray)" args -> IO ()-_sample_gamma_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_exponential(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt NDArrayHandle)]--_sample_exponential ::-                    forall args . Fullfilled "_sample_exponential(ndarray)" args =>-                      ArgsHMap "_sample_exponential(ndarray)" args -> IO [NDArrayHandle]-_sample_exponential args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_exponential_upd ::-                        forall args . Fullfilled "_sample_exponential(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_sample_exponential(ndarray)" args -> IO ()-_sample_exponential_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_poisson(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt NDArrayHandle)]--_sample_poisson ::-                forall args . Fullfilled "_sample_poisson(ndarray)" args =>-                  ArgsHMap "_sample_poisson(ndarray)" args -> IO [NDArrayHandle]-_sample_poisson args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_poisson_upd ::-                    forall args . Fullfilled "_sample_poisson(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_sample_poisson(ndarray)" args -> IO ()-_sample_poisson_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_negative_binomial(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("k", AttrOpt NDArrayHandle), '("p", AttrOpt NDArrayHandle)]--_sample_negative_binomial ::-                          forall args .-                            Fullfilled "_sample_negative_binomial(ndarray)" args =>-                            ArgsHMap "_sample_negative_binomial(ndarray)" args ->-                              IO [NDArrayHandle]-_sample_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("k",) <$> (args !? #k :: Maybe NDArrayHandle),-               ("p",) <$> (args !? #p :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_negative_binomial_upd ::-                              forall args .-                                Fullfilled "_sample_negative_binomial(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_sample_negative_binomial(ndarray)" args -> IO ()-_sample_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("k",) <$> (args !? #k :: Maybe NDArrayHandle),-               ("p",) <$> (args !? #p :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_sample_generalized_negative_binomial(ndarray)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt NDArrayHandle), '("alpha", AttrOpt NDArrayHandle)]--_sample_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_sample_generalized_negative_binomial(ndarray)"-                                          args =>-                                        ArgsHMap "_sample_generalized_negative_binomial(ndarray)"-                                          args-                                          -> IO [NDArrayHandle]-_sample_generalized_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_generalized_negative_binomial_upd ::-                                          forall args .-                                            Fullfilled-                                              "_sample_generalized_negative_binomial(ndarray)"-                                              args =>-                                            [NDArrayHandle] ->-                                              ArgsHMap-                                                "_sample_generalized_negative_binomial(ndarray)"-                                                args-                                                -> IO ()-_sample_generalized_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe NDArrayHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sample_unique_zipfian(ndarray)" =-     '[ '("range_max", AttrReq Int), '("shape", AttrOpt [Int])]--_sample_unique_zipfian ::-                       forall args . Fullfilled "_sample_unique_zipfian(ndarray)" args =>-                         ArgsHMap "_sample_unique_zipfian(ndarray)" args ->-                           IO [NDArrayHandle]-_sample_unique_zipfian args-  = let scalarArgs-          = catMaybes-              [("range_max",) . showValue <$> (args !? #range_max :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_unique_zipfian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sample_unique_zipfian_upd ::-                           forall args . Fullfilled "_sample_unique_zipfian(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_sample_unique_zipfian(ndarray)" args -> IO ()-_sample_unique_zipfian_upd outputs args-  = let scalarArgs-          = catMaybes-              [("range_max",) . showValue <$> (args !? #range_max :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_unique_zipfian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_uniform(ndarray)" =-     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_uniform ::-                forall args . Fullfilled "_random_uniform(ndarray)" args =>-                  ArgsHMap "_random_uniform(ndarray)" args -> IO [NDArrayHandle]-_random_uniform args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_uniform_upd ::-                    forall args . Fullfilled "_random_uniform(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_random_uniform(ndarray)" args -> IO ()-_random_uniform_upd outputs args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_normal(ndarray)" =-     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_normal ::-               forall args . Fullfilled "_random_normal(ndarray)" args =>-                 ArgsHMap "_random_normal(ndarray)" args -> IO [NDArrayHandle]-_random_normal args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_normal_upd ::-                   forall args . Fullfilled "_random_normal(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_random_normal(ndarray)" args -> IO ()-_random_normal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_gamma(ndarray)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_gamma ::-              forall args . Fullfilled "_random_gamma(ndarray)" args =>-                ArgsHMap "_random_gamma(ndarray)" args -> IO [NDArrayHandle]-_random_gamma args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_gamma_upd ::-                  forall args . Fullfilled "_random_gamma(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_random_gamma(ndarray)" args -> IO ()-_random_gamma_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_exponential(ndarray)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_exponential ::-                    forall args . Fullfilled "_random_exponential(ndarray)" args =>-                      ArgsHMap "_random_exponential(ndarray)" args -> IO [NDArrayHandle]-_random_exponential args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_exponential_upd ::-                        forall args . Fullfilled "_random_exponential(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_random_exponential(ndarray)" args -> IO ()-_random_exponential_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_poisson(ndarray)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_poisson ::-                forall args . Fullfilled "_random_poisson(ndarray)" args =>-                  ArgsHMap "_random_poisson(ndarray)" args -> IO [NDArrayHandle]-_random_poisson args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_poisson_upd ::-                    forall args . Fullfilled "_random_poisson(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_random_poisson(ndarray)" args -> IO ()-_random_poisson_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_negative_binomial(ndarray)" =-     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_negative_binomial ::-                          forall args .-                            Fullfilled "_random_negative_binomial(ndarray)" args =>-                            ArgsHMap "_random_negative_binomial(ndarray)" args ->-                              IO [NDArrayHandle]-_random_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_negative_binomial_upd ::-                              forall args .-                                Fullfilled "_random_negative_binomial(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_random_negative_binomial(ndarray)" args -> IO ()-_random_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_random_generalized_negative_binomial(ndarray)" =-     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_random_generalized_negative_binomial(ndarray)"-                                          args =>-                                        ArgsHMap "_random_generalized_negative_binomial(ndarray)"-                                          args-                                          -> IO [NDArrayHandle]-_random_generalized_negative_binomial args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_generalized_negative_binomial_upd ::-                                          forall args .-                                            Fullfilled-                                              "_random_generalized_negative_binomial(ndarray)"-                                              args =>-                                            [NDArrayHandle] ->-                                              ArgsHMap-                                                "_random_generalized_negative_binomial(ndarray)"-                                                args-                                                -> IO ()-_random_generalized_negative_binomial_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_randint(ndarray)" =-     '[ '("low", AttrReq Int), '("high", AttrReq Int),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype", AttrOpt (EnumType '["None", "int32", "int64"]))]--_random_randint ::-                forall args . Fullfilled "_random_randint(ndarray)" args =>-                  ArgsHMap "_random_randint(ndarray)" args -> IO [NDArrayHandle]-_random_randint args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Int),-               ("high",) . showValue <$> (args !? #high :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype :: Maybe (EnumType '["None", "int32", "int64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_randint"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_randint_upd ::-                    forall args . Fullfilled "_random_randint(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_random_randint(ndarray)" args -> IO ()-_random_randint_upd outputs args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Int),-               ("high",) . showValue <$> (args !? #high :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype :: Maybe (EnumType '["None", "int32", "int64"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_randint"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_uniform_like(ndarray)" =-     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_random_uniform_like ::-                     forall args . Fullfilled "_random_uniform_like(ndarray)" args =>-                       ArgsHMap "_random_uniform_like(ndarray)" args -> IO [NDArrayHandle]-_random_uniform_like args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_uniform_like_upd ::-                         forall args . Fullfilled "_random_uniform_like(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_random_uniform_like(ndarray)" args -> IO ()-_random_uniform_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_normal_like(ndarray)" =-     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_random_normal_like ::-                    forall args . Fullfilled "_random_normal_like(ndarray)" args =>-                      ArgsHMap "_random_normal_like(ndarray)" args -> IO [NDArrayHandle]-_random_normal_like args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_normal_like_upd ::-                        forall args . Fullfilled "_random_normal_like(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_random_normal_like(ndarray)" args -> IO ()-_random_normal_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_gamma_like(ndarray)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_random_gamma_like ::-                   forall args . Fullfilled "_random_gamma_like(ndarray)" args =>-                     ArgsHMap "_random_gamma_like(ndarray)" args -> IO [NDArrayHandle]-_random_gamma_like args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_gamma_like_upd ::-                       forall args . Fullfilled "_random_gamma_like(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_random_gamma_like(ndarray)" args -> IO ()-_random_gamma_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_exponential_like(ndarray)" =-     '[ '("lam", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_random_exponential_like ::-                         forall args .-                           Fullfilled "_random_exponential_like(ndarray)" args =>-                           ArgsHMap "_random_exponential_like(ndarray)" args ->-                             IO [NDArrayHandle]-_random_exponential_like args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_exponential_like_upd ::-                             forall args .-                               Fullfilled "_random_exponential_like(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_random_exponential_like(ndarray)" args -> IO ()-_random_exponential_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_random_poisson_like(ndarray)" =-     '[ '("lam", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_random_poisson_like ::-                     forall args . Fullfilled "_random_poisson_like(ndarray)" args =>-                       ArgsHMap "_random_poisson_like(ndarray)" args -> IO [NDArrayHandle]-_random_poisson_like args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_poisson_like_upd ::-                         forall args . Fullfilled "_random_poisson_like(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_random_poisson_like(ndarray)" args -> IO ()-_random_poisson_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_random_negative_binomial_like(ndarray)" =-     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_random_negative_binomial_like ::-                               forall args .-                                 Fullfilled "_random_negative_binomial_like(ndarray)" args =>-                                 ArgsHMap "_random_negative_binomial_like(ndarray)" args ->-                                   IO [NDArrayHandle]-_random_negative_binomial_like args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_negative_binomial_like_upd ::-                                   forall args .-                                     Fullfilled "_random_negative_binomial_like(ndarray)" args =>-                                     [NDArrayHandle] ->-                                       ArgsHMap "_random_negative_binomial_like(ndarray)" args ->-                                         IO ()-_random_negative_binomial_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_random_generalized_negative_binomial_like(ndarray)"-     =-     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_random_generalized_negative_binomial_like ::-                                           forall args .-                                             Fullfilled-                                               "_random_generalized_negative_binomial_like(ndarray)"-                                               args =>-                                             ArgsHMap-                                               "_random_generalized_negative_binomial_like(ndarray)"-                                               args-                                               -> IO [NDArrayHandle]-_random_generalized_negative_binomial_like args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_random_generalized_negative_binomial_like_upd ::-                                               forall args .-                                                 Fullfilled-                                                   "_random_generalized_negative_binomial_like(ndarray)"-                                                   args =>-                                                 [NDArrayHandle] ->-                                                   ArgsHMap-                                                     "_random_generalized_negative_binomial_like(ndarray)"-                                                     args-                                                     -> IO ()-_random_generalized_negative_binomial_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_shuffle(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_shuffle ::-         forall args . Fullfilled "_shuffle(ndarray)" args =>-           ArgsHMap "_shuffle(ndarray)" args -> IO [NDArrayHandle]-_shuffle args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_shuffle"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_shuffle_upd ::-             forall args . Fullfilled "_shuffle(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_shuffle(ndarray)" args -> IO ()-_shuffle_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_shuffle"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Custom(ndarray)" = '[]--_backward_Custom ::-                 forall args . Fullfilled "_backward_Custom(ndarray)" args =>-                   ArgsHMap "_backward_Custom(ndarray)" args -> IO [NDArrayHandle]-_backward_Custom args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Custom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Custom_upd ::-                     forall args . Fullfilled "_backward_Custom(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_Custom(ndarray)" args -> IO ()-_backward_Custom_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Custom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_power(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_power ::-                forall args . Fullfilled "broadcast_power(ndarray)" args =>-                  ArgsHMap "broadcast_power(ndarray)" args -> IO [NDArrayHandle]-broadcast_power args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_power_upd ::-                    forall args . Fullfilled "broadcast_power(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "broadcast_power(ndarray)" args -> IO ()-broadcast_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_power(ndarray)" =-     '[]--_backward_broadcast_power ::-                          forall args .-                            Fullfilled "_backward_broadcast_power(ndarray)" args =>-                            ArgsHMap "_backward_broadcast_power(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_broadcast_power args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_power_upd ::-                              forall args .-                                Fullfilled "_backward_broadcast_power(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_broadcast_power(ndarray)" args -> IO ()-_backward_broadcast_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_maximum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_maximum ::-                  forall args . Fullfilled "broadcast_maximum(ndarray)" args =>-                    ArgsHMap "broadcast_maximum(ndarray)" args -> IO [NDArrayHandle]-broadcast_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_maximum_upd ::-                      forall args . Fullfilled "broadcast_maximum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "broadcast_maximum(ndarray)" args -> IO ()-broadcast_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_maximum(ndarray)"-     = '[]--_backward_broadcast_maximum ::-                            forall args .-                              Fullfilled "_backward_broadcast_maximum(ndarray)" args =>-                              ArgsHMap "_backward_broadcast_maximum(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_broadcast_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_maximum_upd ::-                                forall args .-                                  Fullfilled "_backward_broadcast_maximum(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_broadcast_maximum(ndarray)" args -> IO ()-_backward_broadcast_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_minimum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_minimum ::-                  forall args . Fullfilled "broadcast_minimum(ndarray)" args =>-                    ArgsHMap "broadcast_minimum(ndarray)" args -> IO [NDArrayHandle]-broadcast_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_minimum_upd ::-                      forall args . Fullfilled "broadcast_minimum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "broadcast_minimum(ndarray)" args -> IO ()-broadcast_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_minimum(ndarray)"-     = '[]--_backward_broadcast_minimum ::-                            forall args .-                              Fullfilled "_backward_broadcast_minimum(ndarray)" args =>-                              ArgsHMap "_backward_broadcast_minimum(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_broadcast_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_minimum_upd ::-                                forall args .-                                  Fullfilled "_backward_broadcast_minimum(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_broadcast_minimum(ndarray)" args -> IO ()-_backward_broadcast_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_hypot(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_hypot ::-                forall args . Fullfilled "broadcast_hypot(ndarray)" args =>-                  ArgsHMap "broadcast_hypot(ndarray)" args -> IO [NDArrayHandle]-broadcast_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_hypot_upd ::-                    forall args . Fullfilled "broadcast_hypot(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "broadcast_hypot(ndarray)" args -> IO ()-broadcast_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_hypot(ndarray)" =-     '[]--_backward_broadcast_hypot ::-                          forall args .-                            Fullfilled "_backward_broadcast_hypot(ndarray)" args =>-                            ArgsHMap "_backward_broadcast_hypot(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_broadcast_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_hypot_upd ::-                              forall args .-                                Fullfilled "_backward_broadcast_hypot(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_broadcast_hypot(ndarray)" args -> IO ()-_backward_broadcast_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_equal ::-       forall args . Fullfilled "_equal(ndarray)" args =>-         ArgsHMap "_equal(ndarray)" args -> IO [NDArrayHandle]-_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_equal_upd ::-           forall args . Fullfilled "_equal(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_equal(ndarray)" args -> IO ()-_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_not_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_not_equal ::-           forall args . Fullfilled "_not_equal(ndarray)" args =>-             ArgsHMap "_not_equal(ndarray)" args -> IO [NDArrayHandle]-_not_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_not_equal_upd ::-               forall args . Fullfilled "_not_equal(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_not_equal(ndarray)" args -> IO ()-_not_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_greater ::-         forall args . Fullfilled "_greater(ndarray)" args =>-           ArgsHMap "_greater(ndarray)" args -> IO [NDArrayHandle]-_greater args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_upd ::-             forall args . Fullfilled "_greater(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_greater(ndarray)" args -> IO ()-_greater_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_greater_equal ::-               forall args . Fullfilled "_greater_equal(ndarray)" args =>-                 ArgsHMap "_greater_equal(ndarray)" args -> IO [NDArrayHandle]-_greater_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_equal_upd ::-                   forall args . Fullfilled "_greater_equal(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_greater_equal(ndarray)" args -> IO ()-_greater_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_lesser ::-        forall args . Fullfilled "_lesser(ndarray)" args =>-          ArgsHMap "_lesser(ndarray)" args -> IO [NDArrayHandle]-_lesser args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_upd ::-            forall args . Fullfilled "_lesser(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_lesser(ndarray)" args -> IO ()-_lesser_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_lesser_equal ::-              forall args . Fullfilled "_lesser_equal(ndarray)" args =>-                ArgsHMap "_lesser_equal(ndarray)" args -> IO [NDArrayHandle]-_lesser_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_equal_upd ::-                  forall args . Fullfilled "_lesser_equal(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_lesser_equal(ndarray)" args -> IO ()-_lesser_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_and(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_logical_and ::-             forall args . Fullfilled "_logical_and(ndarray)" args =>-               ArgsHMap "_logical_and(ndarray)" args -> IO [NDArrayHandle]-_logical_and args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_and_upd ::-                 forall args . Fullfilled "_logical_and(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_logical_and(ndarray)" args -> IO ()-_logical_and_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_or(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_logical_or ::-            forall args . Fullfilled "_logical_or(ndarray)" args =>-              ArgsHMap "_logical_or(ndarray)" args -> IO [NDArrayHandle]-_logical_or args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_or_upd ::-                forall args . Fullfilled "_logical_or(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_logical_or(ndarray)" args -> IO ()-_logical_or_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_xor(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_logical_xor ::-             forall args . Fullfilled "_logical_xor(ndarray)" args =>-               ArgsHMap "_logical_xor(ndarray)" args -> IO [NDArrayHandle]-_logical_xor args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_xor_upd ::-                 forall args . Fullfilled "_logical_xor(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_logical_xor(ndarray)" args -> IO ()-_logical_xor_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_power(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_power ::-       forall args . Fullfilled "_power(ndarray)" args =>-         ArgsHMap "_power(ndarray)" args -> IO [NDArrayHandle]-_power args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_power_upd ::-           forall args . Fullfilled "_power(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_power(ndarray)" args -> IO ()-_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_power(ndarray)" = '[]--_backward_power ::-                forall args . Fullfilled "_backward_power(ndarray)" args =>-                  ArgsHMap "_backward_power(ndarray)" args -> IO [NDArrayHandle]-_backward_power args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_power_upd ::-                    forall args . Fullfilled "_backward_power(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_power(ndarray)" args -> IO ()-_backward_power_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_maximum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_maximum ::-         forall args . Fullfilled "_maximum(ndarray)" args =>-           ArgsHMap "_maximum(ndarray)" args -> IO [NDArrayHandle]-_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_maximum_upd ::-             forall args . Fullfilled "_maximum(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_maximum(ndarray)" args -> IO ()-_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_maximum(ndarray)" = '[]--_backward_maximum ::-                  forall args . Fullfilled "_backward_maximum(ndarray)" args =>-                    ArgsHMap "_backward_maximum(ndarray)" args -> IO [NDArrayHandle]-_backward_maximum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_maximum_upd ::-                      forall args . Fullfilled "_backward_maximum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_maximum(ndarray)" args -> IO ()-_backward_maximum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_minimum(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_minimum ::-         forall args . Fullfilled "_minimum(ndarray)" args =>-           ArgsHMap "_minimum(ndarray)" args -> IO [NDArrayHandle]-_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_minimum_upd ::-             forall args . Fullfilled "_minimum(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_minimum(ndarray)" args -> IO ()-_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_minimum(ndarray)" = '[]--_backward_minimum ::-                  forall args . Fullfilled "_backward_minimum(ndarray)" args =>-                    ArgsHMap "_backward_minimum(ndarray)" args -> IO [NDArrayHandle]-_backward_minimum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_minimum_upd ::-                      forall args . Fullfilled "_backward_minimum(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_minimum(ndarray)" args -> IO ()-_backward_minimum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_hypot(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_hypot ::-       forall args . Fullfilled "_hypot(ndarray)" args =>-         ArgsHMap "_hypot(ndarray)" args -> IO [NDArrayHandle]-_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_hypot_upd ::-           forall args . Fullfilled "_hypot(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_hypot(ndarray)" args -> IO ()-_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_hypot(ndarray)" = '[]--_backward_hypot ::-                forall args . Fullfilled "_backward_hypot(ndarray)" args =>-                  ArgsHMap "_backward_hypot(ndarray)" args -> IO [NDArrayHandle]-_backward_hypot args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_hypot_upd ::-                    forall args . Fullfilled "_backward_hypot(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_hypot(ndarray)" args -> IO ()-_backward_hypot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_square_sum(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--_square_sum ::-            forall args . Fullfilled "_square_sum(ndarray)" args =>-              ArgsHMap "_square_sum(ndarray)" args -> IO [NDArrayHandle]-_square_sum args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_square_sum_upd ::-                forall args . Fullfilled "_square_sum(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_square_sum(ndarray)" args -> IO ()-_square_sum_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_square_sum(ndarray)" = '[]--_backward_square_sum ::-                     forall args . Fullfilled "_backward_square_sum(ndarray)" args =>-                       ArgsHMap "_backward_square_sum(ndarray)" args -> IO [NDArrayHandle]-_backward_square_sum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_square_sum_upd ::-                         forall args . Fullfilled "_backward_square_sum(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_square_sum(ndarray)" args -> IO ()-_backward_square_sum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "add_n(ndarray)" =-     '[ '("args", AttrOpt [NDArrayHandle])]--add_n ::-      forall args . Fullfilled "add_n(ndarray)" args =>-        ArgsHMap "add_n(ndarray)" args -> IO [NDArrayHandle]-add_n args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "add_n"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--add_n_upd ::-          forall args . Fullfilled "add_n(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "add_n(ndarray)" args -> IO ()-add_n_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "add_n"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_zeros_without_dtype(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype", AttrOpt Int)]--_zeros_without_dtype ::-                     forall args . Fullfilled "_zeros_without_dtype(ndarray)" args =>-                       ArgsHMap "_zeros_without_dtype(ndarray)" args -> IO [NDArrayHandle]-_zeros_without_dtype args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$> (args !? #dtype :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros_without_dtype"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_zeros_without_dtype_upd ::-                         forall args . Fullfilled "_zeros_without_dtype(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_zeros_without_dtype(ndarray)" args -> IO ()-_zeros_without_dtype_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$> (args !? #dtype :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros_without_dtype"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_zeros(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_zeros ::-       forall args . Fullfilled "_zeros(ndarray)" args =>-         ArgsHMap "_zeros(ndarray)" args -> IO [NDArrayHandle]-_zeros args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_zeros_upd ::-           forall args . Fullfilled "_zeros(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_zeros(ndarray)" args -> IO ()-_zeros_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_eye(ndarray)" =-     '[ '("_N", AttrReq Int), '("_M", AttrOpt Int), '("k", AttrOpt Int),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_eye ::-     forall args . Fullfilled "_eye(ndarray)" args =>-       ArgsHMap "_eye(ndarray)" args -> IO [NDArrayHandle]-_eye args-  = let scalarArgs-          = catMaybes-              [("_N",) . showValue <$> (args !? #_N :: Maybe Int),-               ("_M",) . showValue <$> (args !? #_M :: Maybe Int),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_eye"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_eye_upd ::-         forall args . Fullfilled "_eye(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_eye(ndarray)" args -> IO ()-_eye_upd outputs args-  = let scalarArgs-          = catMaybes-              [("_N",) . showValue <$> (args !? #_N :: Maybe Int),-               ("_M",) . showValue <$> (args !? #_M :: Maybe Int),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_eye"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_ones(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_ones ::-      forall args . Fullfilled "_ones(ndarray)" args =>-        ArgsHMap "_ones(ndarray)" args -> IO [NDArrayHandle]-_ones args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ones"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_ones_upd ::-          forall args . Fullfilled "_ones(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_ones(ndarray)" args -> IO ()-_ones_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ones"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_full(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("value", AttrReq Double)]--_full ::-      forall args . Fullfilled "_full(ndarray)" args =>-        ArgsHMap "_full(ndarray)" args -> IO [NDArrayHandle]-_full args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("value",) . showValue <$> (args !? #value :: Maybe Double)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_full"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_full_upd ::-          forall args . Fullfilled "_full(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_full(ndarray)" args -> IO ()-_full_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("value",) . showValue <$> (args !? #value :: Maybe Double)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_full"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_arange(ndarray)" =-     '[ '("start", AttrReq Double), '("stop", AttrOpt (Maybe Double)),-        '("step", AttrOpt Double), '("repeat", AttrOpt Int),-        '("infer_range", AttrOpt Bool), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_arange ::-        forall args . Fullfilled "_arange(ndarray)" args =>-          ArgsHMap "_arange(ndarray)" args -> IO [NDArrayHandle]-_arange args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("infer_range",) . showValue <$>-                 (args !? #infer_range :: Maybe Bool),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_arange"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_arange_upd ::-            forall args . Fullfilled "_arange(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_arange(ndarray)" args -> IO ()-_arange_upd outputs args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("infer_range",) . showValue <$>-                 (args !? #infer_range :: Maybe Bool),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_arange"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linspace(ndarray)" =-     '[ '("start", AttrReq Double), '("stop", AttrOpt (Maybe Double)),-        '("step", AttrOpt Double), '("repeat", AttrOpt Int),-        '("infer_range", AttrOpt Bool), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_linspace ::-          forall args . Fullfilled "_linspace(ndarray)" args =>-            ArgsHMap "_linspace(ndarray)" args -> IO [NDArrayHandle]-_linspace args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("infer_range",) . showValue <$>-                 (args !? #infer_range :: Maybe Bool),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linspace"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linspace_upd ::-              forall args . Fullfilled "_linspace(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_linspace(ndarray)" args -> IO ()-_linspace_upd outputs args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("infer_range",) . showValue <$>-                 (args !? #infer_range :: Maybe Bool),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linspace"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "zeros_like(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--zeros_like ::-           forall args . Fullfilled "zeros_like(ndarray)" args =>-             ArgsHMap "zeros_like(ndarray)" args -> IO [NDArrayHandle]-zeros_like args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "zeros_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--zeros_like_upd ::-               forall args . Fullfilled "zeros_like(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "zeros_like(ndarray)" args -> IO ()-zeros_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "zeros_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ones_like(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--ones_like ::-          forall args . Fullfilled "ones_like(ndarray)" args =>-            ArgsHMap "ones_like(ndarray)" args -> IO [NDArrayHandle]-ones_like args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ones_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ones_like_upd ::-              forall args . Fullfilled "ones_like(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "ones_like(ndarray)" args -> IO ()-ones_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ones_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_add(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_add ::-              forall args . Fullfilled "broadcast_add(ndarray)" args =>-                ArgsHMap "broadcast_add(ndarray)" args -> IO [NDArrayHandle]-broadcast_add args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_add_upd ::-                  forall args . Fullfilled "broadcast_add(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_add(ndarray)" args -> IO ()-broadcast_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_add(ndarray)" =-     '[]--_backward_broadcast_add ::-                        forall args . Fullfilled "_backward_broadcast_add(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_add(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_add args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_add_upd ::-                            forall args . Fullfilled "_backward_broadcast_add(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_add(ndarray)" args -> IO ()-_backward_broadcast_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_sub(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_sub ::-              forall args . Fullfilled "broadcast_sub(ndarray)" args =>-                ArgsHMap "broadcast_sub(ndarray)" args -> IO [NDArrayHandle]-broadcast_sub args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_sub_upd ::-                  forall args . Fullfilled "broadcast_sub(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_sub(ndarray)" args -> IO ()-broadcast_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_sub(ndarray)" =-     '[]--_backward_broadcast_sub ::-                        forall args . Fullfilled "_backward_broadcast_sub(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_sub(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_sub args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_sub_upd ::-                            forall args . Fullfilled "_backward_broadcast_sub(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_sub(ndarray)" args -> IO ()-_backward_broadcast_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_mul(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_mul ::-              forall args . Fullfilled "broadcast_mul(ndarray)" args =>-                ArgsHMap "broadcast_mul(ndarray)" args -> IO [NDArrayHandle]-broadcast_mul args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_mul_upd ::-                  forall args . Fullfilled "broadcast_mul(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_mul(ndarray)" args -> IO ()-broadcast_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_mul(ndarray)" =-     '[]--_backward_broadcast_mul ::-                        forall args . Fullfilled "_backward_broadcast_mul(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_mul(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_mul args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_mul_upd ::-                            forall args . Fullfilled "_backward_broadcast_mul(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_mul(ndarray)" args -> IO ()-_backward_broadcast_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_div(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_div ::-              forall args . Fullfilled "broadcast_div(ndarray)" args =>-                ArgsHMap "broadcast_div(ndarray)" args -> IO [NDArrayHandle]-broadcast_div args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_div_upd ::-                  forall args . Fullfilled "broadcast_div(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_div(ndarray)" args -> IO ()-broadcast_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_div(ndarray)" =-     '[]--_backward_broadcast_div ::-                        forall args . Fullfilled "_backward_broadcast_div(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_div(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_div args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_div_upd ::-                            forall args . Fullfilled "_backward_broadcast_div(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_div(ndarray)" args -> IO ()-_backward_broadcast_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_mod(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_mod ::-              forall args . Fullfilled "broadcast_mod(ndarray)" args =>-                ArgsHMap "broadcast_mod(ndarray)" args -> IO [NDArrayHandle]-broadcast_mod args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_mod_upd ::-                  forall args . Fullfilled "broadcast_mod(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "broadcast_mod(ndarray)" args -> IO ()-broadcast_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_broadcast_mod(ndarray)" =-     '[]--_backward_broadcast_mod ::-                        forall args . Fullfilled "_backward_broadcast_mod(ndarray)" args =>-                          ArgsHMap "_backward_broadcast_mod(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_broadcast_mod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_broadcast_mod_upd ::-                            forall args . Fullfilled "_backward_broadcast_mod(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_broadcast_mod(ndarray)" args -> IO ()-_backward_broadcast_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_gemm(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("beta", AttrOpt Double),-        '("axis", AttrOpt Int), '("_A", AttrOpt NDArrayHandle),-        '("_B", AttrOpt NDArrayHandle), '("_C", AttrOpt NDArrayHandle)]--_linalg_gemm ::-             forall args . Fullfilled "_linalg_gemm(ndarray)" args =>-               ArgsHMap "_linalg_gemm(ndarray)" args -> IO [NDArrayHandle]-_linalg_gemm args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle),-               ("_C",) <$> (args !? #_C :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_gemm_upd ::-                 forall args . Fullfilled "_linalg_gemm(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_gemm(ndarray)" args -> IO ()-_linalg_gemm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle),-               ("_C",) <$> (args !? #_C :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_gemm(ndarray)" = '[]--_backward_linalg_gemm ::-                      forall args . Fullfilled "_backward_linalg_gemm(ndarray)" args =>-                        ArgsHMap "_backward_linalg_gemm(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_gemm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_gemm_upd ::-                          forall args . Fullfilled "_backward_linalg_gemm(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_gemm(ndarray)" args -> IO ()-_backward_linalg_gemm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_gemm2(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("axis", AttrOpt Int),-        '("_A", AttrOpt NDArrayHandle), '("_B", AttrOpt NDArrayHandle)]--_linalg_gemm2 ::-              forall args . Fullfilled "_linalg_gemm2(ndarray)" args =>-                ArgsHMap "_linalg_gemm2(ndarray)" args -> IO [NDArrayHandle]-_linalg_gemm2 args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_gemm2_upd ::-                  forall args . Fullfilled "_linalg_gemm2(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_gemm2(ndarray)" args -> IO ()-_linalg_gemm2_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_gemm2(ndarray)" = '[]--_backward_linalg_gemm2 ::-                       forall args . Fullfilled "_backward_linalg_gemm2(ndarray)" args =>-                         ArgsHMap "_backward_linalg_gemm2(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_gemm2 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_gemm2_upd ::-                           forall args . Fullfilled "_backward_linalg_gemm2(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_gemm2(ndarray)" args -> IO ()-_backward_linalg_gemm2_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_potrf(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_potrf ::-              forall args . Fullfilled "_linalg_potrf(ndarray)" args =>-                ArgsHMap "_linalg_potrf(ndarray)" args -> IO [NDArrayHandle]-_linalg_potrf args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_potrf_upd ::-                  forall args . Fullfilled "_linalg_potrf(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_potrf(ndarray)" args -> IO ()-_linalg_potrf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_potrf(ndarray)" = '[]--_backward_linalg_potrf ::-                       forall args . Fullfilled "_backward_linalg_potrf(ndarray)" args =>-                         ArgsHMap "_backward_linalg_potrf(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_potrf args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_potrf_upd ::-                           forall args . Fullfilled "_backward_linalg_potrf(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_potrf(ndarray)" args -> IO ()-_backward_linalg_potrf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potrf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_potri(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_potri ::-              forall args . Fullfilled "_linalg_potri(ndarray)" args =>-                ArgsHMap "_linalg_potri(ndarray)" args -> IO [NDArrayHandle]-_linalg_potri args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_potri_upd ::-                  forall args . Fullfilled "_linalg_potri(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_potri(ndarray)" args -> IO ()-_linalg_potri_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_potri(ndarray)" = '[]--_backward_linalg_potri ::-                       forall args . Fullfilled "_backward_linalg_potri(ndarray)" args =>-                         ArgsHMap "_backward_linalg_potri(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_potri args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_potri_upd ::-                           forall args . Fullfilled "_backward_linalg_potri(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_potri(ndarray)" args -> IO ()-_backward_linalg_potri_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potri"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_trmm(ndarray)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("lower", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt NDArrayHandle), '("_B", AttrOpt NDArrayHandle)]--_linalg_trmm ::-             forall args . Fullfilled "_linalg_trmm(ndarray)" args =>-               ArgsHMap "_linalg_trmm(ndarray)" args -> IO [NDArrayHandle]-_linalg_trmm args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_trmm_upd ::-                 forall args . Fullfilled "_linalg_trmm(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_trmm(ndarray)" args -> IO ()-_linalg_trmm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_trmm(ndarray)" = '[]--_backward_linalg_trmm ::-                      forall args . Fullfilled "_backward_linalg_trmm(ndarray)" args =>-                        ArgsHMap "_backward_linalg_trmm(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_trmm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_trmm_upd ::-                          forall args . Fullfilled "_backward_linalg_trmm(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_trmm(ndarray)" args -> IO ()-_backward_linalg_trmm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trmm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_trsm(ndarray)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("lower", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt NDArrayHandle), '("_B", AttrOpt NDArrayHandle)]--_linalg_trsm ::-             forall args . Fullfilled "_linalg_trsm(ndarray)" args =>-               ArgsHMap "_linalg_trsm(ndarray)" args -> IO [NDArrayHandle]-_linalg_trsm args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_trsm_upd ::-                 forall args . Fullfilled "_linalg_trsm(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_trsm(ndarray)" args -> IO ()-_linalg_trsm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle),-               ("_B",) <$> (args !? #_B :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_trsm(ndarray)" = '[]--_backward_linalg_trsm ::-                      forall args . Fullfilled "_backward_linalg_trsm(ndarray)" args =>-                        ArgsHMap "_backward_linalg_trsm(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_trsm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_trsm_upd ::-                          forall args . Fullfilled "_backward_linalg_trsm(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_trsm(ndarray)" args -> IO ()-_backward_linalg_trsm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trsm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_sumlogdiag(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_sumlogdiag ::-                   forall args . Fullfilled "_linalg_sumlogdiag(ndarray)" args =>-                     ArgsHMap "_linalg_sumlogdiag(ndarray)" args -> IO [NDArrayHandle]-_linalg_sumlogdiag args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_sumlogdiag_upd ::-                       forall args . Fullfilled "_linalg_sumlogdiag(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_linalg_sumlogdiag(ndarray)" args -> IO ()-_linalg_sumlogdiag_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_sumlogdiag(ndarray)"-     = '[]--_backward_linalg_sumlogdiag ::-                            forall args .-                              Fullfilled "_backward_linalg_sumlogdiag(ndarray)" args =>-                              ArgsHMap "_backward_linalg_sumlogdiag(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_linalg_sumlogdiag args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_sumlogdiag_upd ::-                                forall args .-                                  Fullfilled "_backward_linalg_sumlogdiag(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_linalg_sumlogdiag(ndarray)" args -> IO ()-_backward_linalg_sumlogdiag_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_sumlogdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_extractdiag(ndarray)" =-     '[ '("offset", AttrOpt Int), '("_A", AttrOpt NDArrayHandle)]--_linalg_extractdiag ::-                    forall args . Fullfilled "_linalg_extractdiag(ndarray)" args =>-                      ArgsHMap "_linalg_extractdiag(ndarray)" args -> IO [NDArrayHandle]-_linalg_extractdiag args-  = let scalarArgs-          = catMaybes-              [("offset",) . showValue <$> (args !? #offset :: Maybe Int)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_extractdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_extractdiag_upd ::-                        forall args . Fullfilled "_linalg_extractdiag(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_linalg_extractdiag(ndarray)" args -> IO ()-_linalg_extractdiag_upd outputs args-  = let scalarArgs-          = catMaybes-              [("offset",) . showValue <$> (args !? #offset :: Maybe Int)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_extractdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_extractdiag(ndarray)"-     = '[]--_backward_linalg_extractdiag ::-                             forall args .-                               Fullfilled "_backward_linalg_extractdiag(ndarray)" args =>-                               ArgsHMap "_backward_linalg_extractdiag(ndarray)" args ->-                                 IO [NDArrayHandle]-_backward_linalg_extractdiag args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_extractdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_extractdiag_upd ::-                                 forall args .-                                   Fullfilled "_backward_linalg_extractdiag(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_backward_linalg_extractdiag(ndarray)" args -> IO ()-_backward_linalg_extractdiag_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_extractdiag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_makediag(ndarray)" =-     '[ '("offset", AttrOpt Int), '("_A", AttrOpt NDArrayHandle)]--_linalg_makediag ::-                 forall args . Fullfilled "_linalg_makediag(ndarray)" args =>-                   ArgsHMap "_linalg_makediag(ndarray)" args -> IO [NDArrayHandle]-_linalg_makediag args-  = let scalarArgs-          = catMaybes-              [("offset",) . showValue <$> (args !? #offset :: Maybe Int)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_makediag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_makediag_upd ::-                     forall args . Fullfilled "_linalg_makediag(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_linalg_makediag(ndarray)" args -> IO ()-_linalg_makediag_upd outputs args-  = let scalarArgs-          = catMaybes-              [("offset",) . showValue <$> (args !? #offset :: Maybe Int)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_makediag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_makediag(ndarray)" =-     '[]--_backward_linalg_makediag ::-                          forall args .-                            Fullfilled "_backward_linalg_makediag(ndarray)" args =>-                            ArgsHMap "_backward_linalg_makediag(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_linalg_makediag args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_makediag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_makediag_upd ::-                              forall args .-                                Fullfilled "_backward_linalg_makediag(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_linalg_makediag(ndarray)" args -> IO ()-_backward_linalg_makediag_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_makediag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_extracttrian(ndarray)" =-     '[ '("offset", AttrOpt Int), '("lower", AttrOpt Bool),-        '("_A", AttrOpt NDArrayHandle)]--_linalg_extracttrian ::-                     forall args . Fullfilled "_linalg_extracttrian(ndarray)" args =>-                       ArgsHMap "_linalg_extracttrian(ndarray)" args -> IO [NDArrayHandle]-_linalg_extracttrian args-  = let scalarArgs-          = catMaybes-              [("offset",) . showValue <$> (args !? #offset :: Maybe Int),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_extracttrian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_extracttrian_upd ::-                         forall args . Fullfilled "_linalg_extracttrian(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_linalg_extracttrian(ndarray)" args -> IO ()-_linalg_extracttrian_upd outputs args-  = let scalarArgs-          = catMaybes-              [("offset",) . showValue <$> (args !? #offset :: Maybe Int),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_extracttrian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_linalg_extracttrian(ndarray)" = '[]--_backward_linalg_extracttrian ::-                              forall args .-                                Fullfilled "_backward_linalg_extracttrian(ndarray)" args =>-                                ArgsHMap "_backward_linalg_extracttrian(ndarray)" args ->-                                  IO [NDArrayHandle]-_backward_linalg_extracttrian args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_extracttrian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_extracttrian_upd ::-                                  forall args .-                                    Fullfilled "_backward_linalg_extracttrian(ndarray)" args =>-                                    [NDArrayHandle] ->-                                      ArgsHMap "_backward_linalg_extracttrian(ndarray)" args ->-                                        IO ()-_backward_linalg_extracttrian_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_extracttrian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_maketrian(ndarray)" =-     '[ '("offset", AttrOpt Int), '("lower", AttrOpt Bool),-        '("_A", AttrOpt NDArrayHandle)]--_linalg_maketrian ::-                  forall args . Fullfilled "_linalg_maketrian(ndarray)" args =>-                    ArgsHMap "_linalg_maketrian(ndarray)" args -> IO [NDArrayHandle]-_linalg_maketrian args-  = let scalarArgs-          = catMaybes-              [("offset",) . showValue <$> (args !? #offset :: Maybe Int),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_maketrian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_maketrian_upd ::-                      forall args . Fullfilled "_linalg_maketrian(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_linalg_maketrian(ndarray)" args -> IO ()-_linalg_maketrian_upd outputs args-  = let scalarArgs-          = catMaybes-              [("offset",) . showValue <$> (args !? #offset :: Maybe Int),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_maketrian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_maketrian(ndarray)" =-     '[]--_backward_linalg_maketrian ::-                           forall args .-                             Fullfilled "_backward_linalg_maketrian(ndarray)" args =>-                             ArgsHMap "_backward_linalg_maketrian(ndarray)" args ->-                               IO [NDArrayHandle]-_backward_linalg_maketrian args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_maketrian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_maketrian_upd ::-                               forall args .-                                 Fullfilled "_backward_linalg_maketrian(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_backward_linalg_maketrian(ndarray)" args -> IO ()-_backward_linalg_maketrian_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_maketrian"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_syrk(ndarray)" =-     '[ '("transpose", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt NDArrayHandle)]--_linalg_syrk ::-             forall args . Fullfilled "_linalg_syrk(ndarray)" args =>-               ArgsHMap "_linalg_syrk(ndarray)" args -> IO [NDArrayHandle]-_linalg_syrk args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_syrk_upd ::-                 forall args . Fullfilled "_linalg_syrk(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_linalg_syrk(ndarray)" args -> IO ()-_linalg_syrk_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_syrk(ndarray)" = '[]--_backward_linalg_syrk ::-                      forall args . Fullfilled "_backward_linalg_syrk(ndarray)" args =>-                        ArgsHMap "_backward_linalg_syrk(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_linalg_syrk args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_syrk_upd ::-                          forall args . Fullfilled "_backward_linalg_syrk(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_linalg_syrk(ndarray)" args -> IO ()-_backward_linalg_syrk_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syrk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_gelqf(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_gelqf ::-              forall args . Fullfilled "_linalg_gelqf(ndarray)" args =>-                ArgsHMap "_linalg_gelqf(ndarray)" args -> IO [NDArrayHandle]-_linalg_gelqf args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_gelqf_upd ::-                  forall args . Fullfilled "_linalg_gelqf(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_gelqf(ndarray)" args -> IO ()-_linalg_gelqf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_gelqf(ndarray)" = '[]--_backward_linalg_gelqf ::-                       forall args . Fullfilled "_backward_linalg_gelqf(ndarray)" args =>-                         ArgsHMap "_backward_linalg_gelqf(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_gelqf args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_gelqf_upd ::-                           forall args . Fullfilled "_backward_linalg_gelqf(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_gelqf(ndarray)" args -> IO ()-_backward_linalg_gelqf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gelqf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_syevd(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_syevd ::-              forall args . Fullfilled "_linalg_syevd(ndarray)" args =>-                ArgsHMap "_linalg_syevd(ndarray)" args -> IO [NDArrayHandle]-_linalg_syevd args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_syevd_upd ::-                  forall args . Fullfilled "_linalg_syevd(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_linalg_syevd(ndarray)" args -> IO ()-_linalg_syevd_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_syevd(ndarray)" = '[]--_backward_linalg_syevd ::-                       forall args . Fullfilled "_backward_linalg_syevd(ndarray)" args =>-                         ArgsHMap "_backward_linalg_syevd(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_linalg_syevd args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_syevd_upd ::-                           forall args . Fullfilled "_backward_linalg_syevd(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_linalg_syevd(ndarray)" args -> IO ()-_backward_linalg_syevd_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syevd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_linalg_inverse(ndarray)" =-     '[ '("_A", AttrOpt NDArrayHandle)]--_linalg_inverse ::-                forall args . Fullfilled "_linalg_inverse(ndarray)" args =>-                  ArgsHMap "_linalg_inverse(ndarray)" args -> IO [NDArrayHandle]-_linalg_inverse args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_inverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_linalg_inverse_upd ::-                    forall args . Fullfilled "_linalg_inverse(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_linalg_inverse(ndarray)" args -> IO ()-_linalg_inverse_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_inverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linalg_inverse(ndarray)" =-     '[]--_backward_linalg_inverse ::-                         forall args .-                           Fullfilled "_backward_linalg_inverse(ndarray)" args =>-                           ArgsHMap "_backward_linalg_inverse(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_linalg_inverse args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_inverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linalg_inverse_upd ::-                             forall args .-                               Fullfilled "_backward_linalg_inverse(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_linalg_inverse(ndarray)" args -> IO ()-_backward_linalg_inverse_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_inverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_histogram(ndarray)" =-     '[ '("bin_cnt", AttrOpt (Maybe Int)), '("range", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle), '("bins", AttrOpt NDArrayHandle)]--_histogram ::-           forall args . Fullfilled "_histogram(ndarray)" args =>-             ArgsHMap "_histogram(ndarray)" args -> IO [NDArrayHandle]-_histogram args-  = let scalarArgs-          = catMaybes-              [("bin_cnt",) . showValue <$>-                 (args !? #bin_cnt :: Maybe (Maybe Int)),-               ("range",) . showValue <$> (args !? #range :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("bins",) <$> (args !? #bins :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_histogram"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_histogram_upd ::-               forall args . Fullfilled "_histogram(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_histogram(ndarray)" args -> IO ()-_histogram_upd outputs args-  = let scalarArgs-          = catMaybes-              [("bin_cnt",) . showValue <$>-                 (args !? #bin_cnt :: Maybe (Maybe Int)),-               ("range",) . showValue <$> (args !? #range :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("bins",) <$> (args !? #bins :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_histogram"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cast_storage(ndarray)" =-     '[ '("stype",-          AttrReq (EnumType '["csr", "default", "row_sparse"])),-        '("data", AttrOpt NDArrayHandle)]--cast_storage ::-             forall args . Fullfilled "cast_storage(ndarray)" args =>-               ArgsHMap "cast_storage(ndarray)" args -> IO [NDArrayHandle]-cast_storage args-  = let scalarArgs-          = catMaybes-              [("stype",) . showValue <$>-                 (args !? #stype ::-                    Maybe (EnumType '["csr", "default", "row_sparse"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cast_storage"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cast_storage_upd ::-                 forall args . Fullfilled "cast_storage(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "cast_storage(ndarray)" args -> IO ()-cast_storage_upd outputs args-  = let scalarArgs-          = catMaybes-              [("stype",) . showValue <$>-                 (args !? #stype ::-                    Maybe (EnumType '["csr", "default", "row_sparse"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cast_storage"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_equal_scalar ::-              forall args . Fullfilled "_equal_scalar(ndarray)" args =>-                ArgsHMap "_equal_scalar(ndarray)" args -> IO [NDArrayHandle]-_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_equal_scalar_upd ::-                  forall args . Fullfilled "_equal_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_equal_scalar(ndarray)" args -> IO ()-_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_not_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_not_equal_scalar ::-                  forall args . Fullfilled "_not_equal_scalar(ndarray)" args =>-                    ArgsHMap "_not_equal_scalar(ndarray)" args -> IO [NDArrayHandle]-_not_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_not_equal_scalar_upd ::-                      forall args . Fullfilled "_not_equal_scalar(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_not_equal_scalar(ndarray)" args -> IO ()-_not_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_greater_scalar ::-                forall args . Fullfilled "_greater_scalar(ndarray)" args =>-                  ArgsHMap "_greater_scalar(ndarray)" args -> IO [NDArrayHandle]-_greater_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_scalar_upd ::-                    forall args . Fullfilled "_greater_scalar(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_greater_scalar(ndarray)" args -> IO ()-_greater_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_greater_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_greater_equal_scalar ::-                      forall args . Fullfilled "_greater_equal_scalar(ndarray)" args =>-                        ArgsHMap "_greater_equal_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_greater_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_greater_equal_scalar_upd ::-                          forall args . Fullfilled "_greater_equal_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_greater_equal_scalar(ndarray)" args -> IO ()-_greater_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_lesser_scalar ::-               forall args . Fullfilled "_lesser_scalar(ndarray)" args =>-                 ArgsHMap "_lesser_scalar(ndarray)" args -> IO [NDArrayHandle]-_lesser_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_scalar_upd ::-                   forall args . Fullfilled "_lesser_scalar(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_lesser_scalar(ndarray)" args -> IO ()-_lesser_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_lesser_equal_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_lesser_equal_scalar ::-                     forall args . Fullfilled "_lesser_equal_scalar(ndarray)" args =>-                       ArgsHMap "_lesser_equal_scalar(ndarray)" args -> IO [NDArrayHandle]-_lesser_equal_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_lesser_equal_scalar_upd ::-                         forall args . Fullfilled "_lesser_equal_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_lesser_equal_scalar(ndarray)" args -> IO ()-_lesser_equal_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_and_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_logical_and_scalar ::-                    forall args . Fullfilled "_logical_and_scalar(ndarray)" args =>-                      ArgsHMap "_logical_and_scalar(ndarray)" args -> IO [NDArrayHandle]-_logical_and_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_and_scalar_upd ::-                        forall args . Fullfilled "_logical_and_scalar(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_logical_and_scalar(ndarray)" args -> IO ()-_logical_and_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_or_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_logical_or_scalar ::-                   forall args . Fullfilled "_logical_or_scalar(ndarray)" args =>-                     ArgsHMap "_logical_or_scalar(ndarray)" args -> IO [NDArrayHandle]-_logical_or_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_or_scalar_upd ::-                       forall args . Fullfilled "_logical_or_scalar(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_logical_or_scalar(ndarray)" args -> IO ()-_logical_or_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_logical_xor_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_logical_xor_scalar ::-                    forall args . Fullfilled "_logical_xor_scalar(ndarray)" args =>-                      ArgsHMap "_logical_xor_scalar(ndarray)" args -> IO [NDArrayHandle]-_logical_xor_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_logical_xor_scalar_upd ::-                        forall args . Fullfilled "_logical_xor_scalar(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_logical_xor_scalar(ndarray)" args -> IO ()-_logical_xor_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "relu(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--relu ::-     forall args . Fullfilled "relu(ndarray)" args =>-       ArgsHMap "relu(ndarray)" args -> IO [NDArrayHandle]-relu args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--relu_upd ::-         forall args . Fullfilled "relu(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "relu(ndarray)" args -> IO ()-relu_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_relu(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_relu ::-               forall args . Fullfilled "_backward_relu(ndarray)" args =>-                 ArgsHMap "_backward_relu(ndarray)" args -> IO [NDArrayHandle]-_backward_relu args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_relu_upd ::-                   forall args . Fullfilled "_backward_relu(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_relu(ndarray)" args -> IO ()-_backward_relu_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_relu"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sigmoid(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sigmoid ::-        forall args . Fullfilled "sigmoid(ndarray)" args =>-          ArgsHMap "sigmoid(ndarray)" args -> IO [NDArrayHandle]-sigmoid args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sigmoid_upd ::-            forall args . Fullfilled "sigmoid(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "sigmoid(ndarray)" args -> IO ()-sigmoid_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sigmoid(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sigmoid ::-                  forall args . Fullfilled "_backward_sigmoid(ndarray)" args =>-                    ArgsHMap "_backward_sigmoid(ndarray)" args -> IO [NDArrayHandle]-_backward_sigmoid args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sigmoid_upd ::-                      forall args . Fullfilled "_backward_sigmoid(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_sigmoid(ndarray)" args -> IO ()-_backward_sigmoid_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "hard_sigmoid(ndarray)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--hard_sigmoid ::-             forall args . Fullfilled "hard_sigmoid(ndarray)" args =>-               ArgsHMap "hard_sigmoid(ndarray)" args -> IO [NDArrayHandle]-hard_sigmoid args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "hard_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--hard_sigmoid_upd ::-                 forall args . Fullfilled "hard_sigmoid(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "hard_sigmoid(ndarray)" args -> IO ()-hard_sigmoid_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "hard_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_hard_sigmoid(ndarray)" = '[]--_backward_hard_sigmoid ::-                       forall args . Fullfilled "_backward_hard_sigmoid(ndarray)" args =>-                         ArgsHMap "_backward_hard_sigmoid(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_hard_sigmoid args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hard_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_hard_sigmoid_upd ::-                           forall args . Fullfilled "_backward_hard_sigmoid(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_hard_sigmoid(ndarray)" args -> IO ()-_backward_hard_sigmoid_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hard_sigmoid"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "softsign(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--softsign ::-         forall args . Fullfilled "softsign(ndarray)" args =>-           ArgsHMap "softsign(ndarray)" args -> IO [NDArrayHandle]-softsign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softsign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--softsign_upd ::-             forall args . Fullfilled "softsign(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "softsign(ndarray)" args -> IO ()-softsign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softsign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_softsign(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_softsign ::-                   forall args . Fullfilled "_backward_softsign(ndarray)" args =>-                     ArgsHMap "_backward_softsign(ndarray)" args -> IO [NDArrayHandle]-_backward_softsign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softsign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_softsign_upd ::-                       forall args . Fullfilled "_backward_softsign(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_softsign(ndarray)" args -> IO ()-_backward_softsign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softsign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_copy(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_copy ::-      forall args . Fullfilled "_copy(ndarray)" args =>-        ArgsHMap "_copy(ndarray)" args -> IO [NDArrayHandle]-_copy args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_copy_upd ::-          forall args . Fullfilled "_copy(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_copy(ndarray)" args -> IO ()-_copy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_copy(ndarray)" = '[]--_backward_copy ::-               forall args . Fullfilled "_backward_copy(ndarray)" args =>-                 ArgsHMap "_backward_copy(ndarray)" args -> IO [NDArrayHandle]-_backward_copy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_copy_upd ::-                   forall args . Fullfilled "_backward_copy(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_copy(ndarray)" args -> IO ()-_backward_copy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_reshape(ndarray)" = '[]--_backward_reshape ::-                  forall args . Fullfilled "_backward_reshape(ndarray)" args =>-                    ArgsHMap "_backward_reshape(ndarray)" args -> IO [NDArrayHandle]-_backward_reshape args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reshape"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_reshape_upd ::-                      forall args . Fullfilled "_backward_reshape(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_reshape(ndarray)" args -> IO ()-_backward_reshape_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reshape"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BlockGrad(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_BlockGrad ::-           forall args . Fullfilled "_BlockGrad(ndarray)" args =>-             ArgsHMap "_BlockGrad(ndarray)" args -> IO [NDArrayHandle]-_BlockGrad args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BlockGrad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BlockGrad_upd ::-               forall args . Fullfilled "_BlockGrad(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_BlockGrad(ndarray)" args -> IO ()-_BlockGrad_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BlockGrad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "make_loss(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--make_loss ::-          forall args . Fullfilled "make_loss(ndarray)" args =>-            ArgsHMap "make_loss(ndarray)" args -> IO [NDArrayHandle]-make_loss args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "make_loss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--make_loss_upd ::-              forall args . Fullfilled "make_loss(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "make_loss(ndarray)" args -> IO ()-make_loss_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "make_loss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_identity_with_attr_like_rhs(ndarray)"-     =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_identity_with_attr_like_rhs ::-                             forall args .-                               Fullfilled "_identity_with_attr_like_rhs(ndarray)" args =>-                               ArgsHMap "_identity_with_attr_like_rhs(ndarray)" args ->-                                 IO [NDArrayHandle]-_identity_with_attr_like_rhs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_identity_with_attr_like_rhs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_identity_with_attr_like_rhs_upd ::-                                 forall args .-                                   Fullfilled "_identity_with_attr_like_rhs(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_identity_with_attr_like_rhs(ndarray)" args -> IO ()-_identity_with_attr_like_rhs_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_identity_with_attr_like_rhs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "reshape_like(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--reshape_like ::-             forall args . Fullfilled "reshape_like(ndarray)" args =>-               ArgsHMap "reshape_like(ndarray)" args -> IO [NDArrayHandle]-reshape_like args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reshape_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--reshape_like_upd ::-                 forall args . Fullfilled "reshape_like(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "reshape_like(ndarray)" args -> IO ()-reshape_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reshape_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "shape_array(ndarray)" =-     '[ '("lhs_begin", AttrOpt (Maybe Int)),-        '("lhs_end", AttrOpt (Maybe Int)),-        '("rhs_begin", AttrOpt (Maybe Int)),-        '("rhs_end", AttrOpt (Maybe Int)),-        '("data", AttrOpt NDArrayHandle)]--shape_array ::-            forall args . Fullfilled "shape_array(ndarray)" args =>-              ArgsHMap "shape_array(ndarray)" args -> IO [NDArrayHandle]-shape_array args-  = let scalarArgs-          = catMaybes-              [("lhs_begin",) . showValue <$>-                 (args !? #lhs_begin :: Maybe (Maybe Int)),-               ("lhs_end",) . showValue <$>-                 (args !? #lhs_end :: Maybe (Maybe Int)),-               ("rhs_begin",) . showValue <$>-                 (args !? #rhs_begin :: Maybe (Maybe Int)),-               ("rhs_end",) . showValue <$>-                 (args !? #rhs_end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "shape_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--shape_array_upd ::-                forall args . Fullfilled "shape_array(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "shape_array(ndarray)" args -> IO ()-shape_array_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lhs_begin",) . showValue <$>-                 (args !? #lhs_begin :: Maybe (Maybe Int)),-               ("lhs_end",) . showValue <$>-                 (args !? #lhs_end :: Maybe (Maybe Int)),-               ("rhs_begin",) . showValue <$>-                 (args !? #rhs_begin :: Maybe (Maybe Int)),-               ("rhs_end",) . showValue <$>-                 (args !? #rhs_end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "shape_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "size_array(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--size_array ::-           forall args . Fullfilled "size_array(ndarray)" args =>-             ArgsHMap "size_array(ndarray)" args -> IO [NDArrayHandle]-size_array args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "size_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--size_array_upd ::-               forall args . Fullfilled "size_array(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "size_array(ndarray)" args -> IO ()-size_array_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "size_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Cast(ndarray)" =-     '[ '("dtype",-          AttrReq-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--_Cast ::-      forall args . Fullfilled "_Cast(ndarray)" args =>-        ArgsHMap "_Cast(ndarray)" args -> IO [NDArrayHandle]-_Cast args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Cast_upd ::-          forall args . Fullfilled "_Cast(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_Cast(ndarray)" args -> IO ()-_Cast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cast(ndarray)" = '[]--_backward_cast ::-               forall args . Fullfilled "_backward_cast(ndarray)" args =>-                 ArgsHMap "_backward_cast(ndarray)" args -> IO [NDArrayHandle]-_backward_cast args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cast_upd ::-                   forall args . Fullfilled "_backward_cast(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cast(ndarray)" args -> IO ()-_backward_cast_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "negative(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--negative ::-         forall args . Fullfilled "negative(ndarray)" args =>-           ArgsHMap "negative(ndarray)" args -> IO [NDArrayHandle]-negative args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "negative"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--negative_upd ::-             forall args . Fullfilled "negative(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "negative(ndarray)" args -> IO ()-negative_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "negative"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "reciprocal(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--reciprocal ::-           forall args . Fullfilled "reciprocal(ndarray)" args =>-             ArgsHMap "reciprocal(ndarray)" args -> IO [NDArrayHandle]-reciprocal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--reciprocal_upd ::-               forall args . Fullfilled "reciprocal(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "reciprocal(ndarray)" args -> IO ()-reciprocal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_reciprocal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_reciprocal ::-                     forall args . Fullfilled "_backward_reciprocal(ndarray)" args =>-                       ArgsHMap "_backward_reciprocal(ndarray)" args -> IO [NDArrayHandle]-_backward_reciprocal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_reciprocal_upd ::-                         forall args . Fullfilled "_backward_reciprocal(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_reciprocal(ndarray)" args -> IO ()-_backward_reciprocal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reciprocal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "abs(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--abs ::-    forall args . Fullfilled "abs(ndarray)" args =>-      ArgsHMap "abs(ndarray)" args -> IO [NDArrayHandle]-abs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--abs_upd ::-        forall args . Fullfilled "abs(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "abs(ndarray)" args -> IO ()-abs_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_abs(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_abs ::-              forall args . Fullfilled "_backward_abs(ndarray)" args =>-                ArgsHMap "_backward_abs(ndarray)" args -> IO [NDArrayHandle]-_backward_abs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_abs_upd ::-                  forall args . Fullfilled "_backward_abs(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_abs(ndarray)" args -> IO ()-_backward_abs_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_abs"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sign(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sign ::-     forall args . Fullfilled "sign(ndarray)" args =>-       ArgsHMap "sign(ndarray)" args -> IO [NDArrayHandle]-sign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sign_upd ::-         forall args . Fullfilled "sign(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sign(ndarray)" args -> IO ()-sign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sign(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sign ::-               forall args . Fullfilled "_backward_sign(ndarray)" args =>-                 ArgsHMap "_backward_sign(ndarray)" args -> IO [NDArrayHandle]-_backward_sign args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sign_upd ::-                   forall args . Fullfilled "_backward_sign(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_sign(ndarray)" args -> IO ()-_backward_sign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "round(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--round ::-      forall args . Fullfilled "round(ndarray)" args =>-        ArgsHMap "round(ndarray)" args -> IO [NDArrayHandle]-round args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "round"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--round_upd ::-          forall args . Fullfilled "round(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "round(ndarray)" args -> IO ()-round_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "round"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rint(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--rint ::-     forall args . Fullfilled "rint(ndarray)" args =>-       ArgsHMap "rint(ndarray)" args -> IO [NDArrayHandle]-rint args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rint"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rint_upd ::-         forall args . Fullfilled "rint(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "rint(ndarray)" args -> IO ()-rint_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rint"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ceil(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--ceil ::-     forall args . Fullfilled "ceil(ndarray)" args =>-       ArgsHMap "ceil(ndarray)" args -> IO [NDArrayHandle]-ceil args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ceil"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ceil_upd ::-         forall args . Fullfilled "ceil(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "ceil(ndarray)" args -> IO ()-ceil_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ceil"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "floor(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--floor ::-      forall args . Fullfilled "floor(ndarray)" args =>-        ArgsHMap "floor(ndarray)" args -> IO [NDArrayHandle]-floor args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "floor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--floor_upd ::-          forall args . Fullfilled "floor(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "floor(ndarray)" args -> IO ()-floor_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "floor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "trunc(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--trunc ::-      forall args . Fullfilled "trunc(ndarray)" args =>-        ArgsHMap "trunc(ndarray)" args -> IO [NDArrayHandle]-trunc args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "trunc"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--trunc_upd ::-          forall args . Fullfilled "trunc(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "trunc(ndarray)" args -> IO ()-trunc_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "trunc"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "fix(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--fix ::-    forall args . Fullfilled "fix(ndarray)" args =>-      ArgsHMap "fix(ndarray)" args -> IO [NDArrayHandle]-fix args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fix"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--fix_upd ::-        forall args . Fullfilled "fix(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "fix(ndarray)" args -> IO ()-fix_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fix"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "square(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--square ::-       forall args . Fullfilled "square(ndarray)" args =>-         ArgsHMap "square(ndarray)" args -> IO [NDArrayHandle]-square args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--square_upd ::-           forall args . Fullfilled "square(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "square(ndarray)" args -> IO ()-square_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_square(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_square ::-                 forall args . Fullfilled "_backward_square(ndarray)" args =>-                   ArgsHMap "_backward_square(ndarray)" args -> IO [NDArrayHandle]-_backward_square args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_square_upd ::-                     forall args . Fullfilled "_backward_square(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_square(ndarray)" args -> IO ()-_backward_square_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sqrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sqrt ::-     forall args . Fullfilled "sqrt(ndarray)" args =>-       ArgsHMap "sqrt(ndarray)" args -> IO [NDArrayHandle]-sqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sqrt_upd ::-         forall args . Fullfilled "sqrt(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sqrt(ndarray)" args -> IO ()-sqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sqrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sqrt ::-               forall args . Fullfilled "_backward_sqrt(ndarray)" args =>-                 ArgsHMap "_backward_sqrt(ndarray)" args -> IO [NDArrayHandle]-_backward_sqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sqrt_upd ::-                   forall args . Fullfilled "_backward_sqrt(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_sqrt(ndarray)" args -> IO ()-_backward_sqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rsqrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--rsqrt ::-      forall args . Fullfilled "rsqrt(ndarray)" args =>-        ArgsHMap "rsqrt(ndarray)" args -> IO [NDArrayHandle]-rsqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rsqrt_upd ::-          forall args . Fullfilled "rsqrt(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "rsqrt(ndarray)" args -> IO ()-rsqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rsqrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rsqrt ::-                forall args . Fullfilled "_backward_rsqrt(ndarray)" args =>-                  ArgsHMap "_backward_rsqrt(ndarray)" args -> IO [NDArrayHandle]-_backward_rsqrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rsqrt_upd ::-                    forall args . Fullfilled "_backward_rsqrt(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_rsqrt(ndarray)" args -> IO ()-_backward_rsqrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rsqrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cbrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--cbrt ::-     forall args . Fullfilled "cbrt(ndarray)" args =>-       ArgsHMap "cbrt(ndarray)" args -> IO [NDArrayHandle]-cbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cbrt_upd ::-         forall args . Fullfilled "cbrt(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "cbrt(ndarray)" args -> IO ()-cbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cbrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_cbrt ::-               forall args . Fullfilled "_backward_cbrt(ndarray)" args =>-                 ArgsHMap "_backward_cbrt(ndarray)" args -> IO [NDArrayHandle]-_backward_cbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cbrt_upd ::-                   forall args . Fullfilled "_backward_cbrt(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cbrt(ndarray)" args -> IO ()-_backward_cbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "erf(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--erf ::-    forall args . Fullfilled "erf(ndarray)" args =>-      ArgsHMap "erf(ndarray)" args -> IO [NDArrayHandle]-erf args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "erf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--erf_upd ::-        forall args . Fullfilled "erf(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "erf(ndarray)" args -> IO ()-erf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "erf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_erf(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_erf ::-              forall args . Fullfilled "_backward_erf(ndarray)" args =>-                ArgsHMap "_backward_erf(ndarray)" args -> IO [NDArrayHandle]-_backward_erf args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_erf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_erf_upd ::-                  forall args . Fullfilled "_backward_erf(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_erf(ndarray)" args -> IO ()-_backward_erf_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_erf"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "erfinv(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--erfinv ::-       forall args . Fullfilled "erfinv(ndarray)" args =>-         ArgsHMap "erfinv(ndarray)" args -> IO [NDArrayHandle]-erfinv args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "erfinv"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--erfinv_upd ::-           forall args . Fullfilled "erfinv(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "erfinv(ndarray)" args -> IO ()-erfinv_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "erfinv"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_erfinv(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_erfinv ::-                 forall args . Fullfilled "_backward_erfinv(ndarray)" args =>-                   ArgsHMap "_backward_erfinv(ndarray)" args -> IO [NDArrayHandle]-_backward_erfinv args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_erfinv"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_erfinv_upd ::-                     forall args . Fullfilled "_backward_erfinv(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_erfinv(ndarray)" args -> IO ()-_backward_erfinv_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_erfinv"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rcbrt(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--rcbrt ::-      forall args . Fullfilled "rcbrt(ndarray)" args =>-        ArgsHMap "rcbrt(ndarray)" args -> IO [NDArrayHandle]-rcbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rcbrt_upd ::-          forall args . Fullfilled "rcbrt(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "rcbrt(ndarray)" args -> IO ()-rcbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rcbrt(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rcbrt ::-                forall args . Fullfilled "_backward_rcbrt(ndarray)" args =>-                  ArgsHMap "_backward_rcbrt(ndarray)" args -> IO [NDArrayHandle]-_backward_rcbrt args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rcbrt_upd ::-                    forall args . Fullfilled "_backward_rcbrt(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_rcbrt(ndarray)" args -> IO ()-_backward_rcbrt_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rcbrt"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "exp(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--exp ::-    forall args . Fullfilled "exp(ndarray)" args =>-      ArgsHMap "exp(ndarray)" args -> IO [NDArrayHandle]-exp args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "exp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--exp_upd ::-        forall args . Fullfilled "exp(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "exp(ndarray)" args -> IO ()-exp_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "exp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log ::-    forall args . Fullfilled "log(ndarray)" args =>-      ArgsHMap "log(ndarray)" args -> IO [NDArrayHandle]-log args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log_upd ::-        forall args . Fullfilled "log(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "log(ndarray)" args -> IO ()-log_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log10(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log10 ::-      forall args . Fullfilled "log10(ndarray)" args =>-        ArgsHMap "log10(ndarray)" args -> IO [NDArrayHandle]-log10 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log10_upd ::-          forall args . Fullfilled "log10(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "log10(ndarray)" args -> IO ()-log10_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log2(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log2 ::-     forall args . Fullfilled "log2(ndarray)" args =>-       ArgsHMap "log2(ndarray)" args -> IO [NDArrayHandle]-log2 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log2_upd ::-         forall args . Fullfilled "log2(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "log2(ndarray)" args -> IO ()-log2_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log ::-              forall args . Fullfilled "_backward_log(ndarray)" args =>-                ArgsHMap "_backward_log(ndarray)" args -> IO [NDArrayHandle]-_backward_log args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log_upd ::-                  forall args . Fullfilled "_backward_log(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_log(ndarray)" args -> IO ()-_backward_log_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log10(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log10 ::-                forall args . Fullfilled "_backward_log10(ndarray)" args =>-                  ArgsHMap "_backward_log10(ndarray)" args -> IO [NDArrayHandle]-_backward_log10 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log10_upd ::-                    forall args . Fullfilled "_backward_log10(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_log10(ndarray)" args -> IO ()-_backward_log10_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log10"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log2(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log2 ::-               forall args . Fullfilled "_backward_log2(ndarray)" args =>-                 ArgsHMap "_backward_log2(ndarray)" args -> IO [NDArrayHandle]-_backward_log2 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log2_upd ::-                   forall args . Fullfilled "_backward_log2(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_log2(ndarray)" args -> IO ()-_backward_log2_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log1p(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--log1p ::-      forall args . Fullfilled "log1p(ndarray)" args =>-        ArgsHMap "log1p(ndarray)" args -> IO [NDArrayHandle]-log1p args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log1p_upd ::-          forall args . Fullfilled "log1p(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "log1p(ndarray)" args -> IO ()-log1p_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log1p(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_log1p ::-                forall args . Fullfilled "_backward_log1p(ndarray)" args =>-                  ArgsHMap "_backward_log1p(ndarray)" args -> IO [NDArrayHandle]-_backward_log1p args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log1p_upd ::-                    forall args . Fullfilled "_backward_log1p(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_log1p(ndarray)" args -> IO ()-_backward_log1p_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log1p"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "expm1(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--expm1 ::-      forall args . Fullfilled "expm1(ndarray)" args =>-        ArgsHMap "expm1(ndarray)" args -> IO [NDArrayHandle]-expm1 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--expm1_upd ::-          forall args . Fullfilled "expm1(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "expm1(ndarray)" args -> IO ()-expm1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_expm1(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_expm1 ::-                forall args . Fullfilled "_backward_expm1(ndarray)" args =>-                  ArgsHMap "_backward_expm1(ndarray)" args -> IO [NDArrayHandle]-_backward_expm1 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_expm1_upd ::-                    forall args . Fullfilled "_backward_expm1(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_expm1(ndarray)" args -> IO ()-_backward_expm1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_expm1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "gamma(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--gamma ::-      forall args . Fullfilled "gamma(ndarray)" args =>-        ArgsHMap "gamma(ndarray)" args -> IO [NDArrayHandle]-gamma args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--gamma_upd ::-          forall args . Fullfilled "gamma(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "gamma(ndarray)" args -> IO ()-gamma_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_gamma(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_gamma ::-                forall args . Fullfilled "_backward_gamma(ndarray)" args =>-                  ArgsHMap "_backward_gamma(ndarray)" args -> IO [NDArrayHandle]-_backward_gamma args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_gamma_upd ::-                    forall args . Fullfilled "_backward_gamma(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_gamma(ndarray)" args -> IO ()-_backward_gamma_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gamma"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "gammaln(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--gammaln ::-        forall args . Fullfilled "gammaln(ndarray)" args =>-          ArgsHMap "gammaln(ndarray)" args -> IO [NDArrayHandle]-gammaln args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--gammaln_upd ::-            forall args . Fullfilled "gammaln(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "gammaln(ndarray)" args -> IO ()-gammaln_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_gammaln(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_gammaln ::-                  forall args . Fullfilled "_backward_gammaln(ndarray)" args =>-                    ArgsHMap "_backward_gammaln(ndarray)" args -> IO [NDArrayHandle]-_backward_gammaln args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_gammaln_upd ::-                      forall args . Fullfilled "_backward_gammaln(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_gammaln(ndarray)" args -> IO ()-_backward_gammaln_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gammaln"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "logical_not(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--logical_not ::-            forall args . Fullfilled "logical_not(ndarray)" args =>-              ArgsHMap "logical_not(ndarray)" args -> IO [NDArrayHandle]-logical_not args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "logical_not"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--logical_not_upd ::-                forall args . Fullfilled "logical_not(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "logical_not(ndarray)" args -> IO ()-logical_not_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "logical_not"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "amp_cast(ndarray)" =-     '[ '("dtype",-          AttrReq-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--amp_cast ::-         forall args . Fullfilled "amp_cast(ndarray)" args =>-           ArgsHMap "amp_cast(ndarray)" args -> IO [NDArrayHandle]-amp_cast args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "amp_cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--amp_cast_upd ::-             forall args . Fullfilled "amp_cast(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "amp_cast(ndarray)" args -> IO ()-amp_cast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "amp_cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_amp_cast(ndarray)" = '[]--_backward_amp_cast ::-                   forall args . Fullfilled "_backward_amp_cast(ndarray)" args =>-                     ArgsHMap "_backward_amp_cast(ndarray)" args -> IO [NDArrayHandle]-_backward_amp_cast args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_amp_cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_amp_cast_upd ::-                       forall args . Fullfilled "_backward_amp_cast(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_amp_cast(ndarray)" args -> IO ()-_backward_amp_cast_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_amp_cast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "amp_multicast(ndarray)" =-     '[ '("num_outputs", AttrReq Int),-        '("data", AttrOpt [NDArrayHandle])]--amp_multicast ::-              forall args . Fullfilled "amp_multicast(ndarray)" args =>-                ArgsHMap "amp_multicast(ndarray)" args -> IO [NDArrayHandle]-amp_multicast args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "amp_multicast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--amp_multicast_upd ::-                  forall args . Fullfilled "amp_multicast(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "amp_multicast(ndarray)" args -> IO ()-amp_multicast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "amp_multicast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_amp_multicast(ndarray)" =-     '[ '("num_outputs", AttrReq Int),-        '("grad", AttrOpt [NDArrayHandle])]--_backward_amp_multicast ::-                        forall args . Fullfilled "_backward_amp_multicast(ndarray)" args =>-                          ArgsHMap "_backward_amp_multicast(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_amp_multicast args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #grad :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_backward_amp_multicast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_amp_multicast_upd ::-                            forall args . Fullfilled "_backward_amp_multicast(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_amp_multicast(ndarray)" args -> IO ()-_backward_amp_multicast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #grad :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_backward_amp_multicast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_add(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_add ::-             forall args . Fullfilled "elemwise_add(ndarray)" args =>-               ArgsHMap "elemwise_add(ndarray)" args -> IO [NDArrayHandle]-elemwise_add args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_add_upd ::-                 forall args . Fullfilled "elemwise_add(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_add(ndarray)" args -> IO ()-elemwise_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_grad_add(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_grad_add ::-          forall args . Fullfilled "_grad_add(ndarray)" args =>-            ArgsHMap "_grad_add(ndarray)" args -> IO [NDArrayHandle]-_grad_add args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_grad_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_grad_add_upd ::-              forall args . Fullfilled "_grad_add(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_grad_add(ndarray)" args -> IO ()-_grad_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_grad_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_add(ndarray)" = '[]--_backward_add ::-              forall args . Fullfilled "_backward_add(ndarray)" args =>-                ArgsHMap "_backward_add(ndarray)" args -> IO [NDArrayHandle]-_backward_add args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_add_upd ::-                  forall args . Fullfilled "_backward_add(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_add(ndarray)" args -> IO ()-_backward_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_sub(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_sub ::-             forall args . Fullfilled "elemwise_sub(ndarray)" args =>-               ArgsHMap "elemwise_sub(ndarray)" args -> IO [NDArrayHandle]-elemwise_sub args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_sub_upd ::-                 forall args . Fullfilled "elemwise_sub(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_sub(ndarray)" args -> IO ()-elemwise_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sub(ndarray)" = '[]--_backward_sub ::-              forall args . Fullfilled "_backward_sub(ndarray)" args =>-                ArgsHMap "_backward_sub(ndarray)" args -> IO [NDArrayHandle]-_backward_sub args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sub_upd ::-                  forall args . Fullfilled "_backward_sub(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_sub(ndarray)" args -> IO ()-_backward_sub_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sub"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_mul(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_mul ::-             forall args . Fullfilled "elemwise_mul(ndarray)" args =>-               ArgsHMap "elemwise_mul(ndarray)" args -> IO [NDArrayHandle]-elemwise_mul args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_mul_upd ::-                 forall args . Fullfilled "elemwise_mul(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_mul(ndarray)" args -> IO ()-elemwise_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mul(ndarray)" = '[]--_backward_mul ::-              forall args . Fullfilled "_backward_mul(ndarray)" args =>-                ArgsHMap "_backward_mul(ndarray)" args -> IO [NDArrayHandle]-_backward_mul args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mul_upd ::-                  forall args . Fullfilled "_backward_mul(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_mul(ndarray)" args -> IO ()-_backward_mul_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "elemwise_div(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--elemwise_div ::-             forall args . Fullfilled "elemwise_div(ndarray)" args =>-               ArgsHMap "elemwise_div(ndarray)" args -> IO [NDArrayHandle]-elemwise_div args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--elemwise_div_upd ::-                 forall args . Fullfilled "elemwise_div(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "elemwise_div(ndarray)" args -> IO ()-elemwise_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_div(ndarray)" = '[]--_backward_div ::-              forall args . Fullfilled "_backward_div(ndarray)" args =>-                ArgsHMap "_backward_div(ndarray)" args -> IO [NDArrayHandle]-_backward_div args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_div_upd ::-                  forall args . Fullfilled "_backward_div(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_div(ndarray)" args -> IO ()-_backward_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_mod(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_mod ::-     forall args . Fullfilled "_mod(ndarray)" args =>-       ArgsHMap "_mod(ndarray)" args -> IO [NDArrayHandle]-_mod args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_mod_upd ::-         forall args . Fullfilled "_mod(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_mod(ndarray)" args -> IO ()-_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mod(ndarray)" = '[]--_backward_mod ::-              forall args . Fullfilled "_backward_mod(ndarray)" args =>-                ArgsHMap "_backward_mod(ndarray)" args -> IO [NDArrayHandle]-_backward_mod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mod_upd ::-                  forall args . Fullfilled "_backward_mod(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_mod(ndarray)" args -> IO ()-_backward_mod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_elemwise_div(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_scatter_elemwise_div ::-                      forall args . Fullfilled "_scatter_elemwise_div(ndarray)" args =>-                        ArgsHMap "_scatter_elemwise_div(ndarray)" args ->-                          IO [NDArrayHandle]-_scatter_elemwise_div args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_elemwise_div_upd ::-                          forall args . Fullfilled "_scatter_elemwise_div(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_scatter_elemwise_div(ndarray)" args -> IO ()-_scatter_elemwise_div_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_elemwise_div"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_plus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_scatter_plus_scalar ::-                     forall args . Fullfilled "_scatter_plus_scalar(ndarray)" args =>-                       ArgsHMap "_scatter_plus_scalar(ndarray)" args -> IO [NDArrayHandle]-_scatter_plus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_plus_scalar_upd ::-                         forall args . Fullfilled "_scatter_plus_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_scatter_plus_scalar(ndarray)" args -> IO ()-_scatter_plus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_minus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_scatter_minus_scalar ::-                      forall args . Fullfilled "_scatter_minus_scalar(ndarray)" args =>-                        ArgsHMap "_scatter_minus_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_scatter_minus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_minus_scalar_upd ::-                          forall args . Fullfilled "_scatter_minus_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_scatter_minus_scalar(ndarray)" args -> IO ()-_scatter_minus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Embedding(ndarray)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle)]--_Embedding ::-           forall args . Fullfilled "_Embedding(ndarray)" args =>-             ArgsHMap "_Embedding(ndarray)" args -> IO [NDArrayHandle]-_Embedding args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Embedding_upd ::-               forall args . Fullfilled "_Embedding(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_Embedding(ndarray)" args -> IO ()-_Embedding_upd outputs args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_SparseEmbedding(ndarray)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle)]--_contrib_SparseEmbedding ::-                         forall args .-                           Fullfilled "_contrib_SparseEmbedding(ndarray)" args =>-                           ArgsHMap "_contrib_SparseEmbedding(ndarray)" args ->-                             IO [NDArrayHandle]-_contrib_SparseEmbedding args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_SparseEmbedding_upd ::-                             forall args .-                               Fullfilled "_contrib_SparseEmbedding(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_contrib_SparseEmbedding(ndarray)" args -> IO ()-_contrib_SparseEmbedding_upd outputs args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Embedding(ndarray)" = '[]--_backward_Embedding ::-                    forall args . Fullfilled "_backward_Embedding(ndarray)" args =>-                      ArgsHMap "_backward_Embedding(ndarray)" args -> IO [NDArrayHandle]-_backward_Embedding args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Embedding_upd ::-                        forall args . Fullfilled "_backward_Embedding(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_Embedding(ndarray)" args -> IO ()-_backward_Embedding_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Embedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SparseEmbedding(ndarray)" =-     '[]--_backward_SparseEmbedding ::-                          forall args .-                            Fullfilled "_backward_SparseEmbedding(ndarray)" args =>-                            ArgsHMap "_backward_SparseEmbedding(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_SparseEmbedding args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SparseEmbedding_upd ::-                              forall args .-                                Fullfilled "_backward_SparseEmbedding(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_SparseEmbedding(ndarray)" args -> IO ()-_backward_SparseEmbedding_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SparseEmbedding"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "take(ndarray)" =-     '[ '("axis", AttrOpt Int),-        '("mode", AttrOpt (EnumType '["clip", "raise", "wrap"])),-        '("a", AttrOpt NDArrayHandle), '("indices", AttrOpt NDArrayHandle)]--take ::-     forall args . Fullfilled "take(ndarray)" args =>-       ArgsHMap "take(ndarray)" args -> IO [NDArrayHandle]-take args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "raise", "wrap"]))]-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--take_upd ::-         forall args . Fullfilled "take(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "take(ndarray)" args -> IO ()-take_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "raise", "wrap"]))]-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_take(ndarray)" = '[]--_backward_take ::-               forall args . Fullfilled "_backward_take(ndarray)" args =>-                 ArgsHMap "_backward_take(ndarray)" args -> IO [NDArrayHandle]-_backward_take args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_take_upd ::-                   forall args . Fullfilled "_backward_take(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_take(ndarray)" args -> IO ()-_backward_take_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "batch_take(ndarray)" =-     '[ '("a", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--batch_take ::-           forall args . Fullfilled "batch_take(ndarray)" args =>-             ArgsHMap "batch_take(ndarray)" args -> IO [NDArrayHandle]-batch_take args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--batch_take_upd ::-               forall args . Fullfilled "batch_take(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "batch_take(ndarray)" args -> IO ()-batch_take_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_take"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "one_hot(ndarray)" =-     '[ '("depth", AttrReq Int), '("on_value", AttrOpt Double),-        '("off_value", AttrOpt Double),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("indices", AttrOpt NDArrayHandle)]--one_hot ::-        forall args . Fullfilled "one_hot(ndarray)" args =>-          ArgsHMap "one_hot(ndarray)" args -> IO [NDArrayHandle]-one_hot args-  = let scalarArgs-          = catMaybes-              [("depth",) . showValue <$> (args !? #depth :: Maybe Int),-               ("on_value",) . showValue <$> (args !? #on_value :: Maybe Double),-               ("off_value",) . showValue <$>-                 (args !? #off_value :: Maybe Double),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes-              [("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "one_hot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--one_hot_upd ::-            forall args . Fullfilled "one_hot(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "one_hot(ndarray)" args -> IO ()-one_hot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("depth",) . showValue <$> (args !? #depth :: Maybe Int),-               ("on_value",) . showValue <$> (args !? #on_value :: Maybe Double),-               ("off_value",) . showValue <$>-                 (args !? #off_value :: Maybe Double),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        tensorArgs-          = catMaybes-              [("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "one_hot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "gather_nd(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--gather_nd ::-          forall args . Fullfilled "gather_nd(ndarray)" args =>-            ArgsHMap "gather_nd(ndarray)" args -> IO [NDArrayHandle]-gather_nd args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--gather_nd_upd ::-              forall args . Fullfilled "gather_nd(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "gather_nd(ndarray)" args -> IO ()-gather_nd_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "scatter_nd(ndarray)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--scatter_nd ::-           forall args . Fullfilled "scatter_nd(ndarray)" args =>-             ArgsHMap "scatter_nd(ndarray)" args -> IO [NDArrayHandle]-scatter_nd args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "scatter_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--scatter_nd_upd ::-               forall args . Fullfilled "scatter_nd(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "scatter_nd(ndarray)" args -> IO ()-scatter_nd_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "scatter_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_gather_nd(ndarray)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--_backward_gather_nd ::-                    forall args . Fullfilled "_backward_gather_nd(ndarray)" args =>-                      ArgsHMap "_backward_gather_nd(ndarray)" args -> IO [NDArrayHandle]-_backward_gather_nd args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_gather_nd_upd ::-                        forall args . Fullfilled "_backward_gather_nd(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_gather_nd(ndarray)" args -> IO ()-_backward_gather_nd_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gather_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_scatter_set_nd(ndarray)" =-     '[ '("shape", AttrReq [Int]), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--_scatter_set_nd ::-                forall args . Fullfilled "_scatter_set_nd(ndarray)" args =>-                  ArgsHMap "_scatter_set_nd(ndarray)" args -> IO [NDArrayHandle]-_scatter_set_nd args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_set_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_scatter_set_nd_upd ::-                    forall args . Fullfilled "_scatter_set_nd(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_scatter_set_nd(ndarray)" args -> IO ()-_scatter_set_nd_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_set_nd"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_equal ::-                forall args . Fullfilled "broadcast_equal(ndarray)" args =>-                  ArgsHMap "broadcast_equal(ndarray)" args -> IO [NDArrayHandle]-broadcast_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_equal_upd ::-                    forall args . Fullfilled "broadcast_equal(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "broadcast_equal(ndarray)" args -> IO ()-broadcast_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_not_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_not_equal ::-                    forall args . Fullfilled "broadcast_not_equal(ndarray)" args =>-                      ArgsHMap "broadcast_not_equal(ndarray)" args -> IO [NDArrayHandle]-broadcast_not_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_not_equal_upd ::-                        forall args . Fullfilled "broadcast_not_equal(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "broadcast_not_equal(ndarray)" args -> IO ()-broadcast_not_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_not_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_greater(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_greater ::-                  forall args . Fullfilled "broadcast_greater(ndarray)" args =>-                    ArgsHMap "broadcast_greater(ndarray)" args -> IO [NDArrayHandle]-broadcast_greater args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_greater_upd ::-                      forall args . Fullfilled "broadcast_greater(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "broadcast_greater(ndarray)" args -> IO ()-broadcast_greater_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_greater_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_greater_equal ::-                        forall args . Fullfilled "broadcast_greater_equal(ndarray)" args =>-                          ArgsHMap "broadcast_greater_equal(ndarray)" args ->-                            IO [NDArrayHandle]-broadcast_greater_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_greater_equal_upd ::-                            forall args . Fullfilled "broadcast_greater_equal(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "broadcast_greater_equal(ndarray)" args -> IO ()-broadcast_greater_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_lesser(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_lesser ::-                 forall args . Fullfilled "broadcast_lesser(ndarray)" args =>-                   ArgsHMap "broadcast_lesser(ndarray)" args -> IO [NDArrayHandle]-broadcast_lesser args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_lesser_upd ::-                     forall args . Fullfilled "broadcast_lesser(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "broadcast_lesser(ndarray)" args -> IO ()-broadcast_lesser_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_lesser_equal(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_lesser_equal ::-                       forall args . Fullfilled "broadcast_lesser_equal(ndarray)" args =>-                         ArgsHMap "broadcast_lesser_equal(ndarray)" args ->-                           IO [NDArrayHandle]-broadcast_lesser_equal args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_lesser_equal_upd ::-                           forall args . Fullfilled "broadcast_lesser_equal(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "broadcast_lesser_equal(ndarray)" args -> IO ()-broadcast_lesser_equal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser_equal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_logical_and(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_logical_and ::-                      forall args . Fullfilled "broadcast_logical_and(ndarray)" args =>-                        ArgsHMap "broadcast_logical_and(ndarray)" args ->-                          IO [NDArrayHandle]-broadcast_logical_and args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_and"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_logical_and_upd ::-                          forall args . Fullfilled "broadcast_logical_and(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "broadcast_logical_and(ndarray)" args -> IO ()-broadcast_logical_and_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_and"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_logical_or(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_logical_or ::-                     forall args . Fullfilled "broadcast_logical_or(ndarray)" args =>-                       ArgsHMap "broadcast_logical_or(ndarray)" args -> IO [NDArrayHandle]-broadcast_logical_or args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_or"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_logical_or_upd ::-                         forall args . Fullfilled "broadcast_logical_or(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "broadcast_logical_or(ndarray)" args -> IO ()-broadcast_logical_or_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_or"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_logical_xor(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--broadcast_logical_xor ::-                      forall args . Fullfilled "broadcast_logical_xor(ndarray)" args =>-                        ArgsHMap "broadcast_logical_xor(ndarray)" args ->-                          IO [NDArrayHandle]-broadcast_logical_xor args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_xor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_logical_xor_upd ::-                          forall args . Fullfilled "broadcast_logical_xor(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "broadcast_logical_xor(ndarray)" args -> IO ()-broadcast_logical_xor_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_xor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_plus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_plus_scalar ::-             forall args . Fullfilled "_plus_scalar(ndarray)" args =>-               ArgsHMap "_plus_scalar(ndarray)" args -> IO [NDArrayHandle]-_plus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_plus_scalar_upd ::-                 forall args . Fullfilled "_plus_scalar(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_plus_scalar(ndarray)" args -> IO ()-_plus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_plus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_minus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_minus_scalar ::-              forall args . Fullfilled "_minus_scalar(ndarray)" args =>-                ArgsHMap "_minus_scalar(ndarray)" args -> IO [NDArrayHandle]-_minus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_minus_scalar_upd ::-                  forall args . Fullfilled "_minus_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_minus_scalar(ndarray)" args -> IO ()-_minus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rminus_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rminus_scalar ::-               forall args . Fullfilled "_rminus_scalar(ndarray)" args =>-                 ArgsHMap "_rminus_scalar(ndarray)" args -> IO [NDArrayHandle]-_rminus_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rminus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rminus_scalar_upd ::-                   forall args . Fullfilled "_rminus_scalar(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_rminus_scalar(ndarray)" args -> IO ()-_rminus_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rminus_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_mul_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_mul_scalar ::-            forall args . Fullfilled "_mul_scalar(ndarray)" args =>-              ArgsHMap "_mul_scalar(ndarray)" args -> IO [NDArrayHandle]-_mul_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_mul_scalar_upd ::-                forall args . Fullfilled "_mul_scalar(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_mul_scalar(ndarray)" args -> IO ()-_mul_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mul_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_backward_mul_scalar ::-                     forall args . Fullfilled "_backward_mul_scalar(ndarray)" args =>-                       ArgsHMap "_backward_mul_scalar(ndarray)" args -> IO [NDArrayHandle]-_backward_mul_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mul_scalar_upd ::-                         forall args . Fullfilled "_backward_mul_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_mul_scalar(ndarray)" args -> IO ()-_backward_mul_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_div_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_div_scalar ::-            forall args . Fullfilled "_div_scalar(ndarray)" args =>-              ArgsHMap "_div_scalar(ndarray)" args -> IO [NDArrayHandle]-_div_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_div_scalar_upd ::-                forall args . Fullfilled "_div_scalar(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_div_scalar(ndarray)" args -> IO ()-_div_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_div_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_backward_div_scalar ::-                     forall args . Fullfilled "_backward_div_scalar(ndarray)" args =>-                       ArgsHMap "_backward_div_scalar(ndarray)" args -> IO [NDArrayHandle]-_backward_div_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_div_scalar_upd ::-                         forall args . Fullfilled "_backward_div_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_div_scalar(ndarray)" args -> IO ()-_backward_div_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rdiv_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rdiv_scalar ::-             forall args . Fullfilled "_rdiv_scalar(ndarray)" args =>-               ArgsHMap "_rdiv_scalar(ndarray)" args -> IO [NDArrayHandle]-_rdiv_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rdiv_scalar_upd ::-                 forall args . Fullfilled "_rdiv_scalar(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_rdiv_scalar(ndarray)" args -> IO ()-_rdiv_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rdiv_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rdiv_scalar ::-                      forall args . Fullfilled "_backward_rdiv_scalar(ndarray)" args =>-                        ArgsHMap "_backward_rdiv_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_rdiv_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rdiv_scalar_upd ::-                          forall args . Fullfilled "_backward_rdiv_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_rdiv_scalar(ndarray)" args -> IO ()-_backward_rdiv_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rdiv_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_mod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_mod_scalar ::-            forall args . Fullfilled "_mod_scalar(ndarray)" args =>-              ArgsHMap "_mod_scalar(ndarray)" args -> IO [NDArrayHandle]-_mod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_mod_scalar_upd ::-                forall args . Fullfilled "_mod_scalar(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_mod_scalar(ndarray)" args -> IO ()-_mod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_mod_scalar ::-                     forall args . Fullfilled "_backward_mod_scalar(ndarray)" args =>-                       ArgsHMap "_backward_mod_scalar(ndarray)" args -> IO [NDArrayHandle]-_backward_mod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mod_scalar_upd ::-                         forall args . Fullfilled "_backward_mod_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_mod_scalar(ndarray)" args -> IO ()-_backward_mod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rmod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rmod_scalar ::-             forall args . Fullfilled "_rmod_scalar(ndarray)" args =>-               ArgsHMap "_rmod_scalar(ndarray)" args -> IO [NDArrayHandle]-_rmod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rmod_scalar_upd ::-                 forall args . Fullfilled "_rmod_scalar(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_rmod_scalar(ndarray)" args -> IO ()-_rmod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rmod_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rmod_scalar ::-                      forall args . Fullfilled "_backward_rmod_scalar(ndarray)" args =>-                        ArgsHMap "_backward_rmod_scalar(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_rmod_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rmod_scalar_upd ::-                          forall args . Fullfilled "_backward_rmod_scalar(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_rmod_scalar(ndarray)" args -> IO ()-_backward_rmod_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rmod_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_ravel_multi_index(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--_ravel_multi_index ::-                   forall args . Fullfilled "_ravel_multi_index(ndarray)" args =>-                     ArgsHMap "_ravel_multi_index(ndarray)" args -> IO [NDArrayHandle]-_ravel_multi_index args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ravel_multi_index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_ravel_multi_index_upd ::-                       forall args . Fullfilled "_ravel_multi_index(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_ravel_multi_index(ndarray)" args -> IO ()-_ravel_multi_index_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ravel_multi_index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_unravel_index(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--_unravel_index ::-               forall args . Fullfilled "_unravel_index(ndarray)" args =>-                 ArgsHMap "_unravel_index(ndarray)" args -> IO [NDArrayHandle]-_unravel_index args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_unravel_index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_unravel_index_upd ::-                   forall args . Fullfilled "_unravel_index(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_unravel_index(ndarray)" args -> IO ()-_unravel_index_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_unravel_index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sum(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--sum ::-    forall args . Fullfilled "sum(ndarray)" args =>-      ArgsHMap "sum(ndarray)" args -> IO [NDArrayHandle]-sum args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sum_upd ::-        forall args . Fullfilled "sum(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "sum(ndarray)" args -> IO ()-sum_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sum(ndarray)" = '[]--_backward_sum ::-              forall args . Fullfilled "_backward_sum(ndarray)" args =>-                ArgsHMap "_backward_sum(ndarray)" args -> IO [NDArrayHandle]-_backward_sum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sum_upd ::-                  forall args . Fullfilled "_backward_sum(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_sum(ndarray)" args -> IO ()-_backward_sum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "mean(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--mean ::-     forall args . Fullfilled "mean(ndarray)" args =>-       ArgsHMap "mean(ndarray)" args -> IO [NDArrayHandle]-mean args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--mean_upd ::-         forall args . Fullfilled "mean(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "mean(ndarray)" args -> IO ()-mean_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mean(ndarray)" = '[]--_backward_mean ::-               forall args . Fullfilled "_backward_mean(ndarray)" args =>-                 ArgsHMap "_backward_mean(ndarray)" args -> IO [NDArrayHandle]-_backward_mean args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mean_upd ::-                   forall args . Fullfilled "_backward_mean(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_mean(ndarray)" args -> IO ()-_backward_mean_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mean"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "prod(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--prod ::-     forall args . Fullfilled "prod(ndarray)" args =>-       ArgsHMap "prod(ndarray)" args -> IO [NDArrayHandle]-prod args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--prod_upd ::-         forall args . Fullfilled "prod(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "prod(ndarray)" args -> IO ()-prod_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_prod(ndarray)" = '[]--_backward_prod ::-               forall args . Fullfilled "_backward_prod(ndarray)" args =>-                 ArgsHMap "_backward_prod(ndarray)" args -> IO [NDArrayHandle]-_backward_prod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_prod_upd ::-                   forall args . Fullfilled "_backward_prod(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_prod(ndarray)" args -> IO ()-_backward_prod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_prod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "nansum(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--nansum ::-       forall args . Fullfilled "nansum(ndarray)" args =>-         ArgsHMap "nansum(ndarray)" args -> IO [NDArrayHandle]-nansum args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--nansum_upd ::-           forall args . Fullfilled "nansum(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "nansum(ndarray)" args -> IO ()-nansum_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_nansum(ndarray)" = '[]--_backward_nansum ::-                 forall args . Fullfilled "_backward_nansum(ndarray)" args =>-                   ArgsHMap "_backward_nansum(ndarray)" args -> IO [NDArrayHandle]-_backward_nansum args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_nansum_upd ::-                     forall args . Fullfilled "_backward_nansum(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_nansum(ndarray)" args -> IO ()-_backward_nansum_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nansum"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "nanprod(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--nanprod ::-        forall args . Fullfilled "nanprod(ndarray)" args =>-          ArgsHMap "nanprod(ndarray)" args -> IO [NDArrayHandle]-nanprod args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--nanprod_upd ::-            forall args . Fullfilled "nanprod(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "nanprod(ndarray)" args -> IO ()-nanprod_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_nanprod(ndarray)" = '[]--_backward_nanprod ::-                  forall args . Fullfilled "_backward_nanprod(ndarray)" args =>-                    ArgsHMap "_backward_nanprod(ndarray)" args -> IO [NDArrayHandle]-_backward_nanprod args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_nanprod_upd ::-                      forall args . Fullfilled "_backward_nanprod(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_nanprod(ndarray)" args -> IO ()-_backward_nanprod_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nanprod"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "max(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--max ::-    forall args . Fullfilled "max(ndarray)" args =>-      ArgsHMap "max(ndarray)" args -> IO [NDArrayHandle]-max args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--max_upd ::-        forall args . Fullfilled "max(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "max(ndarray)" args -> IO ()-max_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_max(ndarray)" = '[]--_backward_max ::-              forall args . Fullfilled "_backward_max(ndarray)" args =>-                ArgsHMap "_backward_max(ndarray)" args -> IO [NDArrayHandle]-_backward_max args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_max_upd ::-                  forall args . Fullfilled "_backward_max(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_max(ndarray)" args -> IO ()-_backward_max_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_max"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "min(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--min ::-    forall args . Fullfilled "min(ndarray)" args =>-      ArgsHMap "min(ndarray)" args -> IO [NDArrayHandle]-min args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--min_upd ::-        forall args . Fullfilled "min(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "min(ndarray)" args -> IO ()-min_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_min(ndarray)" = '[]--_backward_min ::-              forall args . Fullfilled "_backward_min(ndarray)" args =>-                ArgsHMap "_backward_min(ndarray)" args -> IO [NDArrayHandle]-_backward_min args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_min_upd ::-                  forall args . Fullfilled "_backward_min(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_min(ndarray)" args -> IO ()-_backward_min_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_min"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_axis(ndarray)" =-     '[ '("axis", AttrOpt [Int]), '("size", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--broadcast_axis ::-               forall args . Fullfilled "broadcast_axis(ndarray)" args =>-                 ArgsHMap "broadcast_axis(ndarray)" args -> IO [NDArrayHandle]-broadcast_axis args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("size",) . showValue <$> (args !? #size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_axis_upd ::-                   forall args . Fullfilled "broadcast_axis(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "broadcast_axis(ndarray)" args -> IO ()-broadcast_axis_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("size",) . showValue <$> (args !? #size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_to(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--broadcast_to ::-             forall args . Fullfilled "broadcast_to(ndarray)" args =>-               ArgsHMap "broadcast_to(ndarray)" args -> IO [NDArrayHandle]-broadcast_to args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_to"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_to_upd ::-                 forall args . Fullfilled "broadcast_to(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "broadcast_to(ndarray)" args -> IO ()-broadcast_to_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_to"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_broadcast_backward(ndarray)" = '[]--_broadcast_backward ::-                    forall args . Fullfilled "_broadcast_backward(ndarray)" args =>-                      ArgsHMap "_broadcast_backward(ndarray)" args -> IO [NDArrayHandle]-_broadcast_backward args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_broadcast_backward"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_broadcast_backward_upd ::-                        forall args . Fullfilled "_broadcast_backward(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_broadcast_backward(ndarray)" args -> IO ()-_broadcast_backward_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_broadcast_backward"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "broadcast_like(ndarray)" =-     '[ '("lhs_axes", AttrOpt (Maybe [Int])),-        '("rhs_axes", AttrOpt (Maybe [Int])),-        '("lhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--broadcast_like ::-               forall args . Fullfilled "broadcast_like(ndarray)" args =>-                 ArgsHMap "broadcast_like(ndarray)" args -> IO [NDArrayHandle]-broadcast_like args-  = let scalarArgs-          = catMaybes-              [("lhs_axes",) . showValue <$>-                 (args !? #lhs_axes :: Maybe (Maybe [Int])),-               ("rhs_axes",) . showValue <$>-                 (args !? #rhs_axes :: Maybe (Maybe [Int]))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--broadcast_like_upd ::-                   forall args . Fullfilled "broadcast_like(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "broadcast_like(ndarray)" args -> IO ()-broadcast_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lhs_axes",) . showValue <$>-                 (args !? #lhs_axes :: Maybe (Maybe [Int])),-               ("rhs_axes",) . showValue <$>-                 (args !? #rhs_axes :: Maybe (Maybe [Int]))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "norm(ndarray)" =-     '[ '("ord", AttrOpt Int), '("axis", AttrOpt (Maybe [Int])),-        '("out_dtype",-          AttrOpt-            (Maybe-               (EnumType-                  '["float16", "float32", "float64", "int32", "int64", "int8"]))),-        '("keepdims", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--norm ::-     forall args . Fullfilled "norm(ndarray)" args =>-       ArgsHMap "norm(ndarray)" args -> IO [NDArrayHandle]-norm args-  = let scalarArgs-          = catMaybes-              [("ord",) . showValue <$> (args !? #ord :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("out_dtype",) . showValue <$>-                 (args !? #out_dtype ::-                    Maybe-                      (Maybe-                         (EnumType-                            '["float16", "float32", "float64", "int32", "int64", "int8"]))),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--norm_upd ::-         forall args . Fullfilled "norm(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "norm(ndarray)" args -> IO ()-norm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("ord",) . showValue <$> (args !? #ord :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("out_dtype",) . showValue <$>-                 (args !? #out_dtype ::-                    Maybe-                      (Maybe-                         (EnumType-                            '["float16", "float32", "float64", "int32", "int64", "int8"]))),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_norm(ndarray)" = '[]--_backward_norm ::-               forall args . Fullfilled "_backward_norm(ndarray)" args =>-                 ArgsHMap "_backward_norm(ndarray)" args -> IO [NDArrayHandle]-_backward_norm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_norm_upd ::-                   forall args . Fullfilled "_backward_norm(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_norm(ndarray)" args -> IO ()-_backward_norm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_norm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argmax(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--argmax ::-       forall args . Fullfilled "argmax(ndarray)" args =>-         ArgsHMap "argmax(ndarray)" args -> IO [NDArrayHandle]-argmax args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argmax_upd ::-           forall args . Fullfilled "argmax(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "argmax(ndarray)" args -> IO ()-argmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argmin(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--argmin ::-       forall args . Fullfilled "argmin(ndarray)" args =>-         ArgsHMap "argmin(ndarray)" args -> IO [NDArrayHandle]-argmin args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argmin_upd ::-           forall args . Fullfilled "argmin(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "argmin(ndarray)" args -> IO ()-argmin_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argmax_channel(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--argmax_channel ::-               forall args . Fullfilled "argmax_channel(ndarray)" args =>-                 ArgsHMap "argmax_channel(ndarray)" args -> IO [NDArrayHandle]-argmax_channel args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax_channel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argmax_channel_upd ::-                   forall args . Fullfilled "argmax_channel(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "argmax_channel(ndarray)" args -> IO ()-argmax_channel_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax_channel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "pick(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("mode", AttrOpt (EnumType '["clip", "wrap"])),-        '("data", AttrOpt NDArrayHandle),-        '("index", AttrOpt NDArrayHandle)]--pick ::-     forall args . Fullfilled "pick(ndarray)" args =>-       ArgsHMap "pick(ndarray)" args -> IO [NDArrayHandle]-pick args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "wrap"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("index",) <$> (args !? #index :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--pick_upd ::-         forall args . Fullfilled "pick(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "pick(ndarray)" args -> IO ()-pick_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "wrap"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("index",) <$> (args !? #index :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_pick(ndarray)" = '[]--_backward_pick ::-               forall args . Fullfilled "_backward_pick(ndarray)" args =>-                 ArgsHMap "_backward_pick(ndarray)" args -> IO [NDArrayHandle]-_backward_pick args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_pick_upd ::-                   forall args . Fullfilled "_backward_pick(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_pick(ndarray)" args -> IO ()-_backward_pick_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_pick"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sparse_retain(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("indices", AttrOpt NDArrayHandle)]--_sparse_retain ::-               forall args . Fullfilled "_sparse_retain(ndarray)" args =>-                 ArgsHMap "_sparse_retain(ndarray)" args -> IO [NDArrayHandle]-_sparse_retain args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sparse_retain_upd ::-                   forall args . Fullfilled "_sparse_retain(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_sparse_retain(ndarray)" args -> IO ()-_sparse_retain_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("indices",) <$> (args !? #indices :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sparse_retain(ndarray)" =-     '[]--_backward_sparse_retain ::-                        forall args . Fullfilled "_backward_sparse_retain(ndarray)" args =>-                          ArgsHMap "_backward_sparse_retain(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_sparse_retain args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sparse_retain_upd ::-                            forall args . Fullfilled "_backward_sparse_retain(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_sparse_retain(ndarray)" args -> IO ()-_backward_sparse_retain_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sparse_retain"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_where(ndarray)" =-     '[ '("condition", AttrOpt NDArrayHandle),-        '("x", AttrOpt NDArrayHandle), '("y", AttrOpt NDArrayHandle)]--_where ::-       forall args . Fullfilled "_where(ndarray)" args =>-         ArgsHMap "_where(ndarray)" args -> IO [NDArrayHandle]-_where args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("condition",) <$> (args !? #condition :: Maybe NDArrayHandle),-               ("x",) <$> (args !? #x :: Maybe NDArrayHandle),-               ("y",) <$> (args !? #y :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_where_upd ::-           forall args . Fullfilled "_where(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "_where(ndarray)" args -> IO ()-_where_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("condition",) <$> (args !? #condition :: Maybe NDArrayHandle),-               ("x",) <$> (args !? #x :: Maybe NDArrayHandle),-               ("y",) <$> (args !? #y :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_where(ndarray)" = '[]--_backward_where ::-                forall args . Fullfilled "_backward_where(ndarray)" args =>-                  ArgsHMap "_backward_where(ndarray)" args -> IO [NDArrayHandle]-_backward_where args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_where_upd ::-                    forall args . Fullfilled "_backward_where(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_where(ndarray)" args -> IO ()-_backward_where_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_where"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "diag(ndarray)" =-     '[ '("k", AttrOpt Int), '("axis1", AttrOpt Int),-        '("axis2", AttrOpt Int), '("data", AttrOpt NDArrayHandle)]--diag ::-     forall args . Fullfilled "diag(ndarray)" args =>-       ArgsHMap "diag(ndarray)" args -> IO [NDArrayHandle]-diag args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("axis1",) . showValue <$> (args !? #axis1 :: Maybe Int),-               ("axis2",) . showValue <$> (args !? #axis2 :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "diag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--diag_upd ::-         forall args . Fullfilled "diag(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "diag(ndarray)" args -> IO ()-diag_upd outputs args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("axis1",) . showValue <$> (args !? #axis1 :: Maybe Int),-               ("axis2",) . showValue <$> (args !? #axis2 :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "diag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_diag(ndarray)" = '[]--_backward_diag ::-               forall args . Fullfilled "_backward_diag(ndarray)" args =>-                 ArgsHMap "_backward_diag(ndarray)" args -> IO [NDArrayHandle]-_backward_diag args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_diag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_diag_upd ::-                   forall args . Fullfilled "_backward_diag(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_diag(ndarray)" args -> IO ()-_backward_diag_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_diag"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_maximum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_maximum_scalar ::-                forall args . Fullfilled "_maximum_scalar(ndarray)" args =>-                  ArgsHMap "_maximum_scalar(ndarray)" args -> IO [NDArrayHandle]-_maximum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_maximum_scalar_upd ::-                    forall args . Fullfilled "_maximum_scalar(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_maximum_scalar(ndarray)" args -> IO ()-_maximum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_maximum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_maximum_scalar ::-                         forall args .-                           Fullfilled "_backward_maximum_scalar(ndarray)" args =>-                           ArgsHMap "_backward_maximum_scalar(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_maximum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_maximum_scalar_upd ::-                             forall args .-                               Fullfilled "_backward_maximum_scalar(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_maximum_scalar(ndarray)" args -> IO ()-_backward_maximum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_minimum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_minimum_scalar ::-                forall args . Fullfilled "_minimum_scalar(ndarray)" args =>-                  ArgsHMap "_minimum_scalar(ndarray)" args -> IO [NDArrayHandle]-_minimum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_minimum_scalar_upd ::-                    forall args . Fullfilled "_minimum_scalar(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_minimum_scalar(ndarray)" args -> IO ()-_minimum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_minimum_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_minimum_scalar ::-                         forall args .-                           Fullfilled "_backward_minimum_scalar(ndarray)" args =>-                           ArgsHMap "_backward_minimum_scalar(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_minimum_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_minimum_scalar_upd ::-                             forall args .-                               Fullfilled "_backward_minimum_scalar(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_minimum_scalar(ndarray)" args -> IO ()-_backward_minimum_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_power_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_power_scalar ::-              forall args . Fullfilled "_power_scalar(ndarray)" args =>-                ArgsHMap "_power_scalar(ndarray)" args -> IO [NDArrayHandle]-_power_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_power_scalar_upd ::-                  forall args . Fullfilled "_power_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_power_scalar(ndarray)" args -> IO ()-_power_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_power_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_power_scalar ::-                       forall args . Fullfilled "_backward_power_scalar(ndarray)" args =>-                         ArgsHMap "_backward_power_scalar(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_power_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_power_scalar_upd ::-                           forall args . Fullfilled "_backward_power_scalar(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_power_scalar(ndarray)" args -> IO ()-_backward_power_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rpower_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_rpower_scalar ::-               forall args . Fullfilled "_rpower_scalar(ndarray)" args =>-                 ArgsHMap "_rpower_scalar(ndarray)" args -> IO [NDArrayHandle]-_rpower_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_rpower_scalar_upd ::-                   forall args . Fullfilled "_rpower_scalar(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_rpower_scalar(ndarray)" args -> IO ()-_rpower_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_rpower_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_rpower_scalar ::-                        forall args . Fullfilled "_backward_rpower_scalar(ndarray)" args =>-                          ArgsHMap "_backward_rpower_scalar(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_rpower_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_rpower_scalar_upd ::-                            forall args . Fullfilled "_backward_rpower_scalar(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_rpower_scalar(ndarray)" args -> IO ()-_backward_rpower_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rpower_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_hypot_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_hypot_scalar ::-              forall args . Fullfilled "_hypot_scalar(ndarray)" args =>-                ArgsHMap "_hypot_scalar(ndarray)" args -> IO [NDArrayHandle]-_hypot_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_hypot_scalar_upd ::-                  forall args . Fullfilled "_hypot_scalar(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_hypot_scalar(ndarray)" args -> IO ()-_hypot_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_hypot_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_hypot_scalar ::-                       forall args . Fullfilled "_backward_hypot_scalar(ndarray)" args =>-                         ArgsHMap "_backward_hypot_scalar(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_hypot_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_hypot_scalar_upd ::-                           forall args . Fullfilled "_backward_hypot_scalar(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_hypot_scalar(ndarray)" args -> IO ()-_backward_hypot_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "smooth_l1(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--smooth_l1 ::-          forall args . Fullfilled "smooth_l1(ndarray)" args =>-            ArgsHMap "smooth_l1(ndarray)" args -> IO [NDArrayHandle]-smooth_l1 args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--smooth_l1_upd ::-              forall args . Fullfilled "smooth_l1(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "smooth_l1(ndarray)" args -> IO ()-smooth_l1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_smooth_l1(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_smooth_l1 ::-                    forall args . Fullfilled "_backward_smooth_l1(ndarray)" args =>-                      ArgsHMap "_backward_smooth_l1(ndarray)" args -> IO [NDArrayHandle]-_backward_smooth_l1 args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_smooth_l1_upd ::-                        forall args . Fullfilled "_backward_smooth_l1(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_smooth_l1(ndarray)" args -> IO ()-_backward_smooth_l1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_smooth_l1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "topk(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("k", AttrOpt Int),-        '("ret_typ",-          AttrOpt (EnumType '["both", "indices", "mask", "value"])),-        '("is_ascend", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--topk ::-     forall args . Fullfilled "topk(ndarray)" args =>-       ArgsHMap "topk(ndarray)" args -> IO [NDArrayHandle]-topk args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ret_typ",) . showValue <$>-                 (args !? #ret_typ ::-                    Maybe (EnumType '["both", "indices", "mask", "value"])),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--topk_upd ::-         forall args . Fullfilled "topk(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "topk(ndarray)" args -> IO ()-topk_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ret_typ",) . showValue <$>-                 (args !? #ret_typ ::-                    Maybe (EnumType '["both", "indices", "mask", "value"])),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_topk(ndarray)" = '[]--_backward_topk ::-               forall args . Fullfilled "_backward_topk(ndarray)" args =>-                 ArgsHMap "_backward_topk(ndarray)" args -> IO [NDArrayHandle]-_backward_topk args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_topk_upd ::-                   forall args . Fullfilled "_backward_topk(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_topk(ndarray)" args -> IO ()-_backward_topk_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_topk"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sort(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--sort ::-     forall args . Fullfilled "sort(ndarray)" args =>-       ArgsHMap "sort(ndarray)" args -> IO [NDArrayHandle]-sort args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sort_upd ::-         forall args . Fullfilled "sort(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sort(ndarray)" args -> IO ()-sort_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "argsort(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt NDArrayHandle)]--argsort ::-        forall args . Fullfilled "argsort(ndarray)" args =>-          ArgsHMap "argsort(ndarray)" args -> IO [NDArrayHandle]-argsort args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argsort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--argsort_upd ::-            forall args . Fullfilled "argsort(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "argsort(ndarray)" args -> IO ()-argsort_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argsort"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Reshape(ndarray)" =-     '[ '("shape", AttrOpt [Int]), '("reverse", AttrOpt Bool),-        '("target_shape", AttrOpt [Int]), '("keep_highest", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--_Reshape ::-         forall args . Fullfilled "_Reshape(ndarray)" args =>-           ArgsHMap "_Reshape(ndarray)" args -> IO [NDArrayHandle]-_Reshape args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("keep_highest",) . showValue <$>-                 (args !? #keep_highest :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Reshape"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Reshape_upd ::-             forall args . Fullfilled "_Reshape(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Reshape(ndarray)" args -> IO ()-_Reshape_upd outputs args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("keep_highest",) . showValue <$>-                 (args !? #keep_highest :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Reshape"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Flatten(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_Flatten ::-         forall args . Fullfilled "_Flatten(ndarray)" args =>-           ArgsHMap "_Flatten(ndarray)" args -> IO [NDArrayHandle]-_Flatten args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Flatten_upd ::-             forall args . Fullfilled "_Flatten(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Flatten(ndarray)" args -> IO ()-_Flatten_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "transpose(ndarray)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--transpose ::-          forall args . Fullfilled "transpose(ndarray)" args =>-            ArgsHMap "transpose(ndarray)" args -> IO [NDArrayHandle]-transpose args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "transpose"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--transpose_upd ::-              forall args . Fullfilled "transpose(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "transpose(ndarray)" args -> IO ()-transpose_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "transpose"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "expand_dims(ndarray)" =-     '[ '("axis", AttrReq Int), '("data", AttrOpt NDArrayHandle)]--expand_dims ::-            forall args . Fullfilled "expand_dims(ndarray)" args =>-              ArgsHMap "expand_dims(ndarray)" args -> IO [NDArrayHandle]-expand_dims args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expand_dims"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--expand_dims_upd ::-                forall args . Fullfilled "expand_dims(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "expand_dims(ndarray)" args -> IO ()-expand_dims_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expand_dims"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "slice(ndarray)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--slice ::-      forall args . Fullfilled "slice(ndarray)" args =>-        ArgsHMap "slice(ndarray)" args -> IO [NDArrayHandle]-slice args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--slice_upd ::-          forall args . Fullfilled "slice(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "slice(ndarray)" args -> IO ()-slice_upd outputs args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_slice(ndarray)" = '[]--_backward_slice ::-                forall args . Fullfilled "_backward_slice(ndarray)" args =>-                  ArgsHMap "_backward_slice(ndarray)" args -> IO [NDArrayHandle]-_backward_slice args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_slice_upd ::-                    forall args . Fullfilled "_backward_slice(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_slice(ndarray)" args -> IO ()-_backward_slice_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_slice_assign(ndarray)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_slice_assign ::-              forall args . Fullfilled "_slice_assign(ndarray)" args =>-                ArgsHMap "_slice_assign(ndarray)" args -> IO [NDArrayHandle]-_slice_assign args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_slice_assign_upd ::-                  forall args . Fullfilled "_slice_assign(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_slice_assign(ndarray)" args -> IO ()-_slice_assign_upd outputs args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_slice_assign_scalar(ndarray)" =-     '[ '("scalar", AttrOpt Double), '("begin", AttrReq [Int]),-        '("end", AttrReq [Int]), '("step", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--_slice_assign_scalar ::-                     forall args . Fullfilled "_slice_assign_scalar(ndarray)" args =>-                       ArgsHMap "_slice_assign_scalar(ndarray)" args -> IO [NDArrayHandle]-_slice_assign_scalar args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Double),-               ("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_slice_assign_scalar_upd ::-                         forall args . Fullfilled "_slice_assign_scalar(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_slice_assign_scalar(ndarray)" args -> IO ()-_slice_assign_scalar_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Double),-               ("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign_scalar"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "slice_axis(ndarray)" =-     '[ '("axis", AttrReq Int), '("begin", AttrReq Int),-        '("end", AttrReq (Maybe Int)), '("data", AttrOpt NDArrayHandle)]--slice_axis ::-           forall args . Fullfilled "slice_axis(ndarray)" args =>-             ArgsHMap "slice_axis(ndarray)" args -> IO [NDArrayHandle]-slice_axis args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("begin",) . showValue <$> (args !? #begin :: Maybe Int),-               ("end",) . showValue <$> (args !? #end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--slice_axis_upd ::-               forall args . Fullfilled "slice_axis(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "slice_axis(ndarray)" args -> IO ()-slice_axis_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("begin",) . showValue <$> (args !? #begin :: Maybe Int),-               ("end",) . showValue <$> (args !? #end :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_slice_axis(ndarray)" = '[]--_backward_slice_axis ::-                     forall args . Fullfilled "_backward_slice_axis(ndarray)" args =>-                       ArgsHMap "_backward_slice_axis(ndarray)" args -> IO [NDArrayHandle]-_backward_slice_axis args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_slice_axis_upd ::-                         forall args . Fullfilled "_backward_slice_axis(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_slice_axis(ndarray)" args -> IO ()-_backward_slice_axis_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_axis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "slice_like(ndarray)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle),-        '("shape_like", AttrOpt NDArrayHandle)]--slice_like ::-           forall args . Fullfilled "slice_like(ndarray)" args =>-             ArgsHMap "slice_like(ndarray)" args -> IO [NDArrayHandle]-slice_like args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("shape_like",) <$> (args !? #shape_like :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--slice_like_upd ::-               forall args . Fullfilled "slice_like(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "slice_like(ndarray)" args -> IO ()-slice_like_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("shape_like",) <$> (args !? #shape_like :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_slice_like(ndarray)" = '[]--_backward_slice_like ::-                     forall args . Fullfilled "_backward_slice_like(ndarray)" args =>-                       ArgsHMap "_backward_slice_like(ndarray)" args -> IO [NDArrayHandle]-_backward_slice_like args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_slice_like_upd ::-                         forall args . Fullfilled "_backward_slice_like(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_slice_like(ndarray)" args -> IO ()-_backward_slice_like_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_like"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "clip(ndarray)" =-     '[ '("a_min", AttrReq Float), '("a_max", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--clip ::-     forall args . Fullfilled "clip(ndarray)" args =>-       ArgsHMap "clip(ndarray)" args -> IO [NDArrayHandle]-clip args-  = let scalarArgs-          = catMaybes-              [("a_min",) . showValue <$> (args !? #a_min :: Maybe Float),-               ("a_max",) . showValue <$> (args !? #a_max :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--clip_upd ::-         forall args . Fullfilled "clip(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "clip(ndarray)" args -> IO ()-clip_upd outputs args-  = let scalarArgs-          = catMaybes-              [("a_min",) . showValue <$> (args !? #a_min :: Maybe Float),-               ("a_max",) . showValue <$> (args !? #a_max :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_clip(ndarray)" = '[]--_backward_clip ::-               forall args . Fullfilled "_backward_clip(ndarray)" args =>-                 ArgsHMap "_backward_clip(ndarray)" args -> IO [NDArrayHandle]-_backward_clip args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_clip_upd ::-                   forall args . Fullfilled "_backward_clip(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_clip(ndarray)" args -> IO ()-_backward_clip_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_clip"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "repeat(ndarray)" =-     '[ '("repeats", AttrReq Int), '("axis", AttrOpt (Maybe Int)),-        '("data", AttrOpt NDArrayHandle)]--repeat ::-       forall args . Fullfilled "repeat(ndarray)" args =>-         ArgsHMap "repeat(ndarray)" args -> IO [NDArrayHandle]-repeat args-  = let scalarArgs-          = catMaybes-              [("repeats",) . showValue <$> (args !? #repeats :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--repeat_upd ::-           forall args . Fullfilled "repeat(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "repeat(ndarray)" args -> IO ()-repeat_upd outputs args-  = let scalarArgs-          = catMaybes-              [("repeats",) . showValue <$> (args !? #repeats :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_repeat(ndarray)" = '[]--_backward_repeat ::-                 forall args . Fullfilled "_backward_repeat(ndarray)" args =>-                   ArgsHMap "_backward_repeat(ndarray)" args -> IO [NDArrayHandle]-_backward_repeat args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_repeat_upd ::-                     forall args . Fullfilled "_backward_repeat(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_repeat(ndarray)" args -> IO ()-_backward_repeat_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_repeat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "tile(ndarray)" =-     '[ '("reps", AttrReq [Int]), '("data", AttrOpt NDArrayHandle)]--tile ::-     forall args . Fullfilled "tile(ndarray)" args =>-       ArgsHMap "tile(ndarray)" args -> IO [NDArrayHandle]-tile args-  = let scalarArgs-          = catMaybes-              [("reps",) . showValue <$> (args !? #reps :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--tile_upd ::-         forall args . Fullfilled "tile(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "tile(ndarray)" args -> IO ()-tile_upd outputs args-  = let scalarArgs-          = catMaybes-              [("reps",) . showValue <$> (args !? #reps :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_tile(ndarray)" = '[]--_backward_tile ::-               forall args . Fullfilled "_backward_tile(ndarray)" args =>-                 ArgsHMap "_backward_tile(ndarray)" args -> IO [NDArrayHandle]-_backward_tile args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_tile_upd ::-                   forall args . Fullfilled "_backward_tile(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_tile(ndarray)" args -> IO ()-_backward_tile_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tile"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "reverse(ndarray)" =-     '[ '("axis", AttrReq [Int]), '("data", AttrOpt NDArrayHandle)]--reverse ::-        forall args . Fullfilled "reverse(ndarray)" args =>-          ArgsHMap "reverse(ndarray)" args -> IO [NDArrayHandle]-reverse args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--reverse_upd ::-            forall args . Fullfilled "reverse(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "reverse(ndarray)" args -> IO ()-reverse_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_reverse(ndarray)" = '[]--_backward_reverse ::-                  forall args . Fullfilled "_backward_reverse(ndarray)" args =>-                    ArgsHMap "_backward_reverse(ndarray)" args -> IO [NDArrayHandle]-_backward_reverse args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_reverse_upd ::-                      forall args . Fullfilled "_backward_reverse(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_reverse(ndarray)" args -> IO ()-_backward_reverse_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "stack(ndarray)" =-     '[ '("axis", AttrOpt Int), '("num_args", AttrReq Int),-        '("data", AttrOpt [NDArrayHandle])]--stack ::-      forall args . Fullfilled "stack(ndarray)" args =>-        ArgsHMap "stack(ndarray)" args -> IO [NDArrayHandle]-stack args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "stack"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--stack_upd ::-          forall args . Fullfilled "stack(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "stack(ndarray)" args -> IO ()-stack_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "stack"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_stack(ndarray)" = '[]--_backward_stack ::-                forall args . Fullfilled "_backward_stack(ndarray)" args =>-                  ArgsHMap "_backward_stack(ndarray)" args -> IO [NDArrayHandle]-_backward_stack args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_stack"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_stack_upd ::-                    forall args . Fullfilled "_backward_stack(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_backward_stack(ndarray)" args -> IO ()-_backward_stack_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_stack"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "squeeze(ndarray)" =-     '[ '("axis", AttrOpt (Maybe [Int])),-        '("data", AttrOpt [NDArrayHandle])]--squeeze ::-        forall args . Fullfilled "squeeze(ndarray)" args =>-          ArgsHMap "squeeze(ndarray)" args -> IO [NDArrayHandle]-squeeze args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "squeeze"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--squeeze_upd ::-            forall args . Fullfilled "squeeze(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "squeeze(ndarray)" args -> IO ()-squeeze_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "squeeze"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_squeeze(ndarray)" = '[]--_backward_squeeze ::-                  forall args . Fullfilled "_backward_squeeze(ndarray)" args =>-                    ArgsHMap "_backward_squeeze(ndarray)" args -> IO [NDArrayHandle]-_backward_squeeze args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_squeeze"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_squeeze_upd ::-                      forall args . Fullfilled "_backward_squeeze(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_squeeze(ndarray)" args -> IO ()-_backward_squeeze_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_squeeze"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "depth_to_space(ndarray)" =-     '[ '("block_size", AttrReq Int), '("data", AttrOpt NDArrayHandle)]--depth_to_space ::-               forall args . Fullfilled "depth_to_space(ndarray)" args =>-                 ArgsHMap "depth_to_space(ndarray)" args -> IO [NDArrayHandle]-depth_to_space args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "depth_to_space"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--depth_to_space_upd ::-                   forall args . Fullfilled "depth_to_space(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "depth_to_space(ndarray)" args -> IO ()-depth_to_space_upd outputs args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "depth_to_space"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "space_to_depth(ndarray)" =-     '[ '("block_size", AttrReq Int), '("data", AttrOpt NDArrayHandle)]--space_to_depth ::-               forall args . Fullfilled "space_to_depth(ndarray)" args =>-                 ArgsHMap "space_to_depth(ndarray)" args -> IO [NDArrayHandle]-space_to_depth args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "space_to_depth"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--space_to_depth_upd ::-                   forall args . Fullfilled "space_to_depth(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "space_to_depth(ndarray)" args -> IO ()-space_to_depth_upd outputs args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "space_to_depth"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_split_v2(ndarray)" =-     '[ '("indices", AttrReq [Int]), '("axis", AttrOpt Int),-        '("squeeze_axis", AttrOpt Bool), '("sections", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle)]--_split_v2 ::-          forall args . Fullfilled "_split_v2(ndarray)" args =>-            ArgsHMap "_split_v2(ndarray)" args -> IO [NDArrayHandle]-_split_v2 args-  = let scalarArgs-          = catMaybes-              [("indices",) . showValue <$> (args !? #indices :: Maybe [Int]),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool),-               ("sections",) . showValue <$> (args !? #sections :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_split_v2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_split_v2_upd ::-              forall args . Fullfilled "_split_v2(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_split_v2(ndarray)" args -> IO ()-_split_v2_upd outputs args-  = let scalarArgs-          = catMaybes-              [("indices",) . showValue <$> (args !? #indices :: Maybe [Int]),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool),-               ("sections",) . showValue <$> (args !? #sections :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_split_v2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_split_v2_backward(ndarray)" = '[]--_split_v2_backward ::-                   forall args . Fullfilled "_split_v2_backward(ndarray)" args =>-                     ArgsHMap "_split_v2_backward(ndarray)" args -> IO [NDArrayHandle]-_split_v2_backward args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_split_v2_backward"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_split_v2_backward_upd ::-                       forall args . Fullfilled "_split_v2_backward(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_split_v2_backward(ndarray)" args -> IO ()-_split_v2_backward_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_split_v2_backward"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "dot(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),-        '("lhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--dot ::-    forall args . Fullfilled "dot(ndarray)" args =>-      ArgsHMap "dot(ndarray)" args -> IO [NDArrayHandle]-dot args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--dot_upd ::-        forall args . Fullfilled "dot(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "dot(ndarray)" args -> IO ()-dot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_dot(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"])))]--_backward_dot ::-              forall args . Fullfilled "_backward_dot(ndarray)" args =>-                ArgsHMap "_backward_dot(ndarray)" args -> IO [NDArrayHandle]-_backward_dot args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_dot_upd ::-                  forall args . Fullfilled "_backward_dot(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_dot(ndarray)" args -> IO ()-_backward_dot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "batch_dot(ndarray)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),-        '("lhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--batch_dot ::-          forall args . Fullfilled "batch_dot(ndarray)" args =>-            ArgsHMap "batch_dot(ndarray)" args -> IO [NDArrayHandle]-batch_dot args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--batch_dot_upd ::-              forall args . Fullfilled "batch_dot(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "batch_dot(ndarray)" args -> IO ()-batch_dot_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_batch_dot(ndarray)" = '[]--_backward_batch_dot ::-                    forall args . Fullfilled "_backward_batch_dot(ndarray)" args =>-                      ArgsHMap "_backward_batch_dot(ndarray)" args -> IO [NDArrayHandle]-_backward_batch_dot args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_batch_dot_upd ::-                        forall args . Fullfilled "_backward_batch_dot(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_batch_dot(ndarray)" args -> IO ()-_backward_batch_dot_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_batch_dot"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sin(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sin ::-    forall args . Fullfilled "sin(ndarray)" args =>-      ArgsHMap "sin(ndarray)" args -> IO [NDArrayHandle]-sin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sin_upd ::-        forall args . Fullfilled "sin(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "sin(ndarray)" args -> IO ()-sin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sin(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sin ::-              forall args . Fullfilled "_backward_sin(ndarray)" args =>-                ArgsHMap "_backward_sin(ndarray)" args -> IO [NDArrayHandle]-_backward_sin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sin_upd ::-                  forall args . Fullfilled "_backward_sin(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_sin(ndarray)" args -> IO ()-_backward_sin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cos(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--cos ::-    forall args . Fullfilled "cos(ndarray)" args =>-      ArgsHMap "cos(ndarray)" args -> IO [NDArrayHandle]-cos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cos_upd ::-        forall args . Fullfilled "cos(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "cos(ndarray)" args -> IO ()-cos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cos(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_cos ::-              forall args . Fullfilled "_backward_cos(ndarray)" args =>-                ArgsHMap "_backward_cos(ndarray)" args -> IO [NDArrayHandle]-_backward_cos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cos_upd ::-                  forall args . Fullfilled "_backward_cos(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_cos(ndarray)" args -> IO ()-_backward_cos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "tan(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--tan ::-    forall args . Fullfilled "tan(ndarray)" args =>-      ArgsHMap "tan(ndarray)" args -> IO [NDArrayHandle]-tan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--tan_upd ::-        forall args . Fullfilled "tan(ndarray)" args =>-          [NDArrayHandle] -> ArgsHMap "tan(ndarray)" args -> IO ()-tan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_tan(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_tan ::-              forall args . Fullfilled "_backward_tan(ndarray)" args =>-                ArgsHMap "_backward_tan(ndarray)" args -> IO [NDArrayHandle]-_backward_tan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_tan_upd ::-                  forall args . Fullfilled "_backward_tan(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_tan(ndarray)" args -> IO ()-_backward_tan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arcsin(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arcsin ::-       forall args . Fullfilled "arcsin(ndarray)" args =>-         ArgsHMap "arcsin(ndarray)" args -> IO [NDArrayHandle]-arcsin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arcsin_upd ::-           forall args . Fullfilled "arcsin(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "arcsin(ndarray)" args -> IO ()-arcsin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arcsin(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arcsin ::-                 forall args . Fullfilled "_backward_arcsin(ndarray)" args =>-                   ArgsHMap "_backward_arcsin(ndarray)" args -> IO [NDArrayHandle]-_backward_arcsin args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arcsin_upd ::-                     forall args . Fullfilled "_backward_arcsin(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_arcsin(ndarray)" args -> IO ()-_backward_arcsin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arccos(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arccos ::-       forall args . Fullfilled "arccos(ndarray)" args =>-         ArgsHMap "arccos(ndarray)" args -> IO [NDArrayHandle]-arccos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arccos_upd ::-           forall args . Fullfilled "arccos(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "arccos(ndarray)" args -> IO ()-arccos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arccos(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arccos ::-                 forall args . Fullfilled "_backward_arccos(ndarray)" args =>-                   ArgsHMap "_backward_arccos(ndarray)" args -> IO [NDArrayHandle]-_backward_arccos args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arccos_upd ::-                     forall args . Fullfilled "_backward_arccos(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_arccos(ndarray)" args -> IO ()-_backward_arccos_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccos"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arctan(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arctan ::-       forall args . Fullfilled "arctan(ndarray)" args =>-         ArgsHMap "arctan(ndarray)" args -> IO [NDArrayHandle]-arctan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arctan_upd ::-           forall args . Fullfilled "arctan(ndarray)" args =>-             [NDArrayHandle] -> ArgsHMap "arctan(ndarray)" args -> IO ()-arctan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arctan(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arctan ::-                 forall args . Fullfilled "_backward_arctan(ndarray)" args =>-                   ArgsHMap "_backward_arctan(ndarray)" args -> IO [NDArrayHandle]-_backward_arctan args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arctan_upd ::-                     forall args . Fullfilled "_backward_arctan(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_arctan(ndarray)" args -> IO ()-_backward_arctan_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctan"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "degrees(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--degrees ::-        forall args . Fullfilled "degrees(ndarray)" args =>-          ArgsHMap "degrees(ndarray)" args -> IO [NDArrayHandle]-degrees args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--degrees_upd ::-            forall args . Fullfilled "degrees(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "degrees(ndarray)" args -> IO ()-degrees_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_degrees(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_degrees ::-                  forall args . Fullfilled "_backward_degrees(ndarray)" args =>-                    ArgsHMap "_backward_degrees(ndarray)" args -> IO [NDArrayHandle]-_backward_degrees args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_degrees_upd ::-                      forall args . Fullfilled "_backward_degrees(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_degrees(ndarray)" args -> IO ()-_backward_degrees_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_degrees"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "radians(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--radians ::-        forall args . Fullfilled "radians(ndarray)" args =>-          ArgsHMap "radians(ndarray)" args -> IO [NDArrayHandle]-radians args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--radians_upd ::-            forall args . Fullfilled "radians(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "radians(ndarray)" args -> IO ()-radians_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_radians(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_radians ::-                  forall args . Fullfilled "_backward_radians(ndarray)" args =>-                    ArgsHMap "_backward_radians(ndarray)" args -> IO [NDArrayHandle]-_backward_radians args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_radians_upd ::-                      forall args . Fullfilled "_backward_radians(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_radians(ndarray)" args -> IO ()-_backward_radians_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_radians"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sinh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--sinh ::-     forall args . Fullfilled "sinh(ndarray)" args =>-       ArgsHMap "sinh(ndarray)" args -> IO [NDArrayHandle]-sinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sinh_upd ::-         forall args . Fullfilled "sinh(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "sinh(ndarray)" args -> IO ()-sinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_sinh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_sinh ::-               forall args . Fullfilled "_backward_sinh(ndarray)" args =>-                 ArgsHMap "_backward_sinh(ndarray)" args -> IO [NDArrayHandle]-_backward_sinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_sinh_upd ::-                   forall args . Fullfilled "_backward_sinh(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_sinh(ndarray)" args -> IO ()-_backward_sinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "cosh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--cosh ::-     forall args . Fullfilled "cosh(ndarray)" args =>-       ArgsHMap "cosh(ndarray)" args -> IO [NDArrayHandle]-cosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--cosh_upd ::-         forall args . Fullfilled "cosh(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "cosh(ndarray)" args -> IO ()-cosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cosh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_cosh ::-               forall args . Fullfilled "_backward_cosh(ndarray)" args =>-                 ArgsHMap "_backward_cosh(ndarray)" args -> IO [NDArrayHandle]-_backward_cosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cosh_upd ::-                   forall args . Fullfilled "_backward_cosh(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cosh(ndarray)" args -> IO ()-_backward_cosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "tanh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--tanh ::-     forall args . Fullfilled "tanh(ndarray)" args =>-       ArgsHMap "tanh(ndarray)" args -> IO [NDArrayHandle]-tanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--tanh_upd ::-         forall args . Fullfilled "tanh(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "tanh(ndarray)" args -> IO ()-tanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_tanh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_tanh ::-               forall args . Fullfilled "_backward_tanh(ndarray)" args =>-                 ArgsHMap "_backward_tanh(ndarray)" args -> IO [NDArrayHandle]-_backward_tanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_tanh_upd ::-                   forall args . Fullfilled "_backward_tanh(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_tanh(ndarray)" args -> IO ()-_backward_tanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arcsinh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arcsinh ::-        forall args . Fullfilled "arcsinh(ndarray)" args =>-          ArgsHMap "arcsinh(ndarray)" args -> IO [NDArrayHandle]-arcsinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arcsinh_upd ::-            forall args . Fullfilled "arcsinh(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "arcsinh(ndarray)" args -> IO ()-arcsinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arcsinh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arcsinh ::-                  forall args . Fullfilled "_backward_arcsinh(ndarray)" args =>-                    ArgsHMap "_backward_arcsinh(ndarray)" args -> IO [NDArrayHandle]-_backward_arcsinh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arcsinh_upd ::-                      forall args . Fullfilled "_backward_arcsinh(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_arcsinh(ndarray)" args -> IO ()-_backward_arcsinh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsinh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arccosh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arccosh ::-        forall args . Fullfilled "arccosh(ndarray)" args =>-          ArgsHMap "arccosh(ndarray)" args -> IO [NDArrayHandle]-arccosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arccosh_upd ::-            forall args . Fullfilled "arccosh(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "arccosh(ndarray)" args -> IO ()-arccosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arccosh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arccosh ::-                  forall args . Fullfilled "_backward_arccosh(ndarray)" args =>-                    ArgsHMap "_backward_arccosh(ndarray)" args -> IO [NDArrayHandle]-_backward_arccosh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arccosh_upd ::-                      forall args . Fullfilled "_backward_arccosh(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_arccosh(ndarray)" args -> IO ()-_backward_arccosh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccosh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "arctanh(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--arctanh ::-        forall args . Fullfilled "arctanh(ndarray)" args =>-          ArgsHMap "arctanh(ndarray)" args -> IO [NDArrayHandle]-arctanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--arctanh_upd ::-            forall args . Fullfilled "arctanh(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "arctanh(ndarray)" args -> IO ()-arctanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_arctanh(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_backward_arctanh ::-                  forall args . Fullfilled "_backward_arctanh(ndarray)" args =>-                    ArgsHMap "_backward_arctanh(ndarray)" args -> IO [NDArrayHandle]-_backward_arctanh args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_arctanh_upd ::-                      forall args . Fullfilled "_backward_arctanh(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_arctanh(ndarray)" args -> IO ()-_backward_arctanh_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctanh"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "khatri_rao(ndarray)" =-     '[ '("args", AttrOpt [NDArrayHandle])]--khatri_rao ::-           forall args . Fullfilled "khatri_rao(ndarray)" args =>-             ArgsHMap "khatri_rao(ndarray)" args -> IO [NDArrayHandle]-khatri_rao args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "khatri_rao"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--khatri_rao_upd ::-               forall args . Fullfilled "khatri_rao(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "khatri_rao(ndarray)" args -> IO ()-khatri_rao_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "khatri_rao"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_group_adagrad_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle),-        '("history", AttrOpt NDArrayHandle)]--_contrib_group_adagrad_update ::-                              forall args .-                                Fullfilled "_contrib_group_adagrad_update(ndarray)" args =>-                                ArgsHMap "_contrib_group_adagrad_update(ndarray)" args ->-                                  IO [NDArrayHandle]-_contrib_group_adagrad_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("history",) <$> (args !? #history :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_group_adagrad_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_group_adagrad_update_upd ::-                                  forall args .-                                    Fullfilled "_contrib_group_adagrad_update(ndarray)" args =>-                                    [NDArrayHandle] ->-                                      ArgsHMap "_contrib_group_adagrad_update(ndarray)" args ->-                                        IO ()-_contrib_group_adagrad_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("history",) <$> (args !? #history :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_group_adagrad_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_getnnz(ndarray)" =-     '[ '("axis", AttrOpt (Maybe Int)),-        '("data", AttrOpt NDArrayHandle)]--_contrib_getnnz ::-                forall args . Fullfilled "_contrib_getnnz(ndarray)" args =>-                  ArgsHMap "_contrib_getnnz(ndarray)" args -> IO [NDArrayHandle]-_contrib_getnnz args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_getnnz"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_getnnz_upd ::-                    forall args . Fullfilled "_contrib_getnnz(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_contrib_getnnz(ndarray)" args -> IO ()-_contrib_getnnz_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_getnnz"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_gradientmultiplier(ndarray)"-     = '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_contrib_gradientmultiplier ::-                            forall args .-                              Fullfilled "_contrib_gradientmultiplier(ndarray)" args =>-                              ArgsHMap "_contrib_gradientmultiplier(ndarray)" args ->-                                IO [NDArrayHandle]-_contrib_gradientmultiplier args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_gradientmultiplier"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_gradientmultiplier_upd ::-                                forall args .-                                  Fullfilled "_contrib_gradientmultiplier(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_contrib_gradientmultiplier(ndarray)" args -> IO ()-_contrib_gradientmultiplier_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_gradientmultiplier"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_backward_gradientmultiplier(ndarray)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_contrib_backward_gradientmultiplier ::-                                     forall args .-                                       Fullfilled "_contrib_backward_gradientmultiplier(ndarray)"-                                         args =>-                                       ArgsHMap "_contrib_backward_gradientmultiplier(ndarray)" args-                                         -> IO [NDArrayHandle]-_contrib_backward_gradientmultiplier args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_gradientmultiplier"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_backward_gradientmultiplier_upd ::-                                         forall args .-                                           Fullfilled-                                             "_contrib_backward_gradientmultiplier(ndarray)" args =>-                                           [NDArrayHandle] ->-                                             ArgsHMap-                                               "_contrib_backward_gradientmultiplier(ndarray)"-                                               args-                                               -> IO ()-_contrib_backward_gradientmultiplier_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_gradientmultiplier"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_edge_id(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle), '("u", AttrOpt NDArrayHandle),-        '("v", AttrOpt NDArrayHandle)]--_contrib_edge_id ::-                 forall args . Fullfilled "_contrib_edge_id(ndarray)" args =>-                   ArgsHMap "_contrib_edge_id(ndarray)" args -> IO [NDArrayHandle]-_contrib_edge_id args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("u",) <$> (args !? #u :: Maybe NDArrayHandle),-               ("v",) <$> (args !? #v :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_edge_id"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_edge_id_upd ::-                     forall args . Fullfilled "_contrib_edge_id(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_contrib_edge_id(ndarray)" args -> IO ()-_contrib_edge_id_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("u",) <$> (args !? #u :: Maybe NDArrayHandle),-               ("v",) <$> (args !? #v :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_edge_id"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_dgl_adjacency(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_contrib_dgl_adjacency ::-                       forall args . Fullfilled "_contrib_dgl_adjacency(ndarray)" args =>-                         ArgsHMap "_contrib_dgl_adjacency(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_dgl_adjacency args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dgl_adjacency"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_dgl_adjacency_upd ::-                           forall args . Fullfilled "_contrib_dgl_adjacency(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_dgl_adjacency(ndarray)" args -> IO ()-_contrib_dgl_adjacency_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dgl_adjacency"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_hawkesll(ndarray)" =-     '[ '("lda", AttrOpt NDArrayHandle),-        '("alpha", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle),-        '("state", AttrOpt NDArrayHandle),-        '("lags", AttrOpt NDArrayHandle),-        '("marks", AttrOpt NDArrayHandle),-        '("valid_length", AttrOpt NDArrayHandle),-        '("max_time", AttrOpt NDArrayHandle)]--_contrib_hawkesll ::-                  forall args . Fullfilled "_contrib_hawkesll(ndarray)" args =>-                    ArgsHMap "_contrib_hawkesll(ndarray)" args -> IO [NDArrayHandle]-_contrib_hawkesll args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lda",) <$> (args !? #lda :: Maybe NDArrayHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("state",) <$> (args !? #state :: Maybe NDArrayHandle),-               ("lags",) <$> (args !? #lags :: Maybe NDArrayHandle),-               ("marks",) <$> (args !? #marks :: Maybe NDArrayHandle),-               ("valid_length",) <$>-                 (args !? #valid_length :: Maybe NDArrayHandle),-               ("max_time",) <$> (args !? #max_time :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_hawkesll"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_hawkesll_upd ::-                      forall args . Fullfilled "_contrib_hawkesll(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_contrib_hawkesll(ndarray)" args -> IO ()-_contrib_hawkesll_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lda",) <$> (args !? #lda :: Maybe NDArrayHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("state",) <$> (args !? #state :: Maybe NDArrayHandle),-               ("lags",) <$> (args !? #lags :: Maybe NDArrayHandle),-               ("marks",) <$> (args !? #marks :: Maybe NDArrayHandle),-               ("valid_length",) <$>-                 (args !? #valid_length :: Maybe NDArrayHandle),-               ("max_time",) <$> (args !? #max_time :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_hawkesll"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_backward_hawkesll(ndarray)" =-     '[]--_contrib_backward_hawkesll ::-                           forall args .-                             Fullfilled "_contrib_backward_hawkesll(ndarray)" args =>-                             ArgsHMap "_contrib_backward_hawkesll(ndarray)" args ->-                               IO [NDArrayHandle]-_contrib_backward_hawkesll args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_hawkesll"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_backward_hawkesll_upd ::-                               forall args .-                                 Fullfilled "_contrib_backward_hawkesll(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_contrib_backward_hawkesll(ndarray)" args -> IO ()-_contrib_backward_hawkesll_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_hawkesll"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_mp_adamw_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("eta", AttrReq Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mean", AttrOpt NDArrayHandle),-        '("var", AttrOpt NDArrayHandle),-        '("weight32", AttrOpt NDArrayHandle),-        '("rescale_grad", AttrOpt NDArrayHandle)]--_mp_adamw_update ::-                 forall args . Fullfilled "_mp_adamw_update(ndarray)" args =>-                   ArgsHMap "_mp_adamw_update(ndarray)" args -> IO [NDArrayHandle]-_mp_adamw_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("eta",) . showValue <$> (args !? #eta :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mean",) <$> (args !? #mean :: Maybe NDArrayHandle),-               ("var",) <$> (args !? #var :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle),-               ("rescale_grad",) <$>-                 (args !? #rescale_grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mp_adamw_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_mp_adamw_update_upd ::-                     forall args . Fullfilled "_mp_adamw_update(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_mp_adamw_update(ndarray)" args -> IO ()-_mp_adamw_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("eta",) . showValue <$> (args !? #eta :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mean",) <$> (args !? #mean :: Maybe NDArrayHandle),-               ("var",) <$> (args !? #var :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle),-               ("rescale_grad",) <$>-                 (args !? #rescale_grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mp_adamw_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_adamw_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("eta", AttrReq Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mean", AttrOpt NDArrayHandle),-        '("var", AttrOpt NDArrayHandle),-        '("rescale_grad", AttrOpt NDArrayHandle)]--_adamw_update ::-              forall args . Fullfilled "_adamw_update(ndarray)" args =>-                ArgsHMap "_adamw_update(ndarray)" args -> IO [NDArrayHandle]-_adamw_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("eta",) . showValue <$> (args !? #eta :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mean",) <$> (args !? #mean :: Maybe NDArrayHandle),-               ("var",) <$> (args !? #var :: Maybe NDArrayHandle),-               ("rescale_grad",) <$>-                 (args !? #rescale_grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_adamw_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_adamw_update_upd ::-                  forall args . Fullfilled "_adamw_update(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_adamw_update(ndarray)" args -> IO ()-_adamw_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("eta",) . showValue <$> (args !? #eta :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mean",) <$> (args !? #mean :: Maybe NDArrayHandle),-               ("var",) <$> (args !? #var :: Maybe NDArrayHandle),-               ("rescale_grad",) <$>-                 (args !? #rescale_grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_adamw_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quadratic(ndarray)" =-     '[ '("a", AttrOpt Float), '("b", AttrOpt Float),-        '("c", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_contrib_quadratic ::-                   forall args . Fullfilled "_contrib_quadratic(ndarray)" args =>-                     ArgsHMap "_contrib_quadratic(ndarray)" args -> IO [NDArrayHandle]-_contrib_quadratic args-  = let scalarArgs-          = catMaybes-              [("a",) . showValue <$> (args !? #a :: Maybe Float),-               ("b",) . showValue <$> (args !? #b :: Maybe Float),-               ("c",) . showValue <$> (args !? #c :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quadratic"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quadratic_upd ::-                       forall args . Fullfilled "_contrib_quadratic(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_contrib_quadratic(ndarray)" args -> IO ()-_contrib_quadratic_upd outputs args-  = let scalarArgs-          = catMaybes-              [("a",) . showValue <$> (args !? #a :: Maybe Float),-               ("b",) . showValue <$> (args !? #b :: Maybe Float),-               ("c",) . showValue <$> (args !? #c :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quadratic"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_backward_quadratic(ndarray)"-     = '[]--_contrib_backward_quadratic ::-                            forall args .-                              Fullfilled "_contrib_backward_quadratic(ndarray)" args =>-                              ArgsHMap "_contrib_backward_quadratic(ndarray)" args ->-                                IO [NDArrayHandle]-_contrib_backward_quadratic args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_quadratic"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_backward_quadratic_upd ::-                                forall args .-                                  Fullfilled "_contrib_backward_quadratic(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_contrib_backward_quadratic(ndarray)" args -> IO ()-_contrib_backward_quadratic_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_quadratic"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_div_sqrt_dim(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_contrib_div_sqrt_dim ::-                      forall args . Fullfilled "_contrib_div_sqrt_dim(ndarray)" args =>-                        ArgsHMap "_contrib_div_sqrt_dim(ndarray)" args ->-                          IO [NDArrayHandle]-_contrib_div_sqrt_dim args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_div_sqrt_dim"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_div_sqrt_dim_upd ::-                          forall args . Fullfilled "_contrib_div_sqrt_dim(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_contrib_div_sqrt_dim(ndarray)" args -> IO ()-_contrib_div_sqrt_dim_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_div_sqrt_dim"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "all_finite(ndarray)" =-     '[ '("init_output", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--all_finite ::-           forall args . Fullfilled "all_finite(ndarray)" args =>-             ArgsHMap "all_finite(ndarray)" args -> IO [NDArrayHandle]-all_finite args-  = let scalarArgs-          = catMaybes-              [("init_output",) . showValue <$>-                 (args !? #init_output :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "all_finite"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--all_finite_upd ::-               forall args . Fullfilled "all_finite(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "all_finite(ndarray)" args -> IO ()-all_finite_upd outputs args-  = let scalarArgs-          = catMaybes-              [("init_output",) . showValue <$>-                 (args !? #init_output :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "all_finite"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "multi_all_finite(ndarray)" =-     '[ '("num_arrays", AttrOpt Int), '("init_output", AttrOpt Bool),-        '("data", AttrOpt [NDArrayHandle])]--multi_all_finite ::-                 forall args . Fullfilled "multi_all_finite(ndarray)" args =>-                   ArgsHMap "multi_all_finite(ndarray)" args -> IO [NDArrayHandle]-multi_all_finite args-  = let scalarArgs-          = catMaybes-              [("num_arrays",) . showValue <$>-                 (args !? #num_arrays :: Maybe Int),-               ("init_output",) . showValue <$>-                 (args !? #init_output :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "multi_all_finite"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--multi_all_finite_upd ::-                     forall args . Fullfilled "multi_all_finite(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "multi_all_finite(ndarray)" args -> IO ()-multi_all_finite_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_arrays",) . showValue <$>-                 (args !? #num_arrays :: Maybe Int),-               ("init_output",) . showValue <$>-                 (args !? #init_output :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "multi_all_finite"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_index_array(ndarray)" =-     '[ '("axes", AttrOpt (Maybe [Int])),-        '("data", AttrOpt NDArrayHandle)]--_contrib_index_array ::-                     forall args . Fullfilled "_contrib_index_array(ndarray)" args =>-                       ArgsHMap "_contrib_index_array(ndarray)" args -> IO [NDArrayHandle]-_contrib_index_array args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe (Maybe [Int]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_index_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_index_array_upd ::-                         forall args . Fullfilled "_contrib_index_array(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_contrib_index_array(ndarray)" args -> IO ()-_contrib_index_array_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe (Maybe [Int]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_index_array"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_index_copy(ndarray)" =-     '[ '("old_tensor", AttrOpt NDArrayHandle),-        '("index_vector", AttrOpt NDArrayHandle),-        '("new_tensor", AttrOpt NDArrayHandle)]--_contrib_index_copy ::-                    forall args . Fullfilled "_contrib_index_copy(ndarray)" args =>-                      ArgsHMap "_contrib_index_copy(ndarray)" args -> IO [NDArrayHandle]-_contrib_index_copy args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("old_tensor",) <$> (args !? #old_tensor :: Maybe NDArrayHandle),-               ("index_vector",) <$>-                 (args !? #index_vector :: Maybe NDArrayHandle),-               ("new_tensor",) <$> (args !? #new_tensor :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_index_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_index_copy_upd ::-                        forall args . Fullfilled "_contrib_index_copy(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_contrib_index_copy(ndarray)" args -> IO ()-_contrib_index_copy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("old_tensor",) <$> (args !? #old_tensor :: Maybe NDArrayHandle),-               ("index_vector",) <$>-                 (args !? #index_vector :: Maybe NDArrayHandle),-               ("new_tensor",) <$> (args !? #new_tensor :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_index_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_backward_index_copy(ndarray)"-     = '[]--_contrib_backward_index_copy ::-                             forall args .-                               Fullfilled "_contrib_backward_index_copy(ndarray)" args =>-                               ArgsHMap "_contrib_backward_index_copy(ndarray)" args ->-                                 IO [NDArrayHandle]-_contrib_backward_index_copy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_index_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_backward_index_copy_upd ::-                                 forall args .-                                   Fullfilled "_contrib_backward_index_copy(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_contrib_backward_index_copy(ndarray)" args -> IO ()-_contrib_backward_index_copy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_index_copy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_ROIAlign(ndarray)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float), '("sample_ratio", AttrOpt Int),-        '("position_sensitive", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle), '("rois", AttrOpt NDArrayHandle)]--_contrib_ROIAlign ::-                  forall args . Fullfilled "_contrib_ROIAlign(ndarray)" args =>-                    ArgsHMap "_contrib_ROIAlign(ndarray)" args -> IO [NDArrayHandle]-_contrib_ROIAlign args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("sample_ratio",) . showValue <$>-                 (args !? #sample_ratio :: Maybe Int),-               ("position_sensitive",) . showValue <$>-                 (args !? #position_sensitive :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ROIAlign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_ROIAlign_upd ::-                      forall args . Fullfilled "_contrib_ROIAlign(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_contrib_ROIAlign(ndarray)" args -> IO ()-_contrib_ROIAlign_upd outputs args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("sample_ratio",) . showValue <$>-                 (args !? #sample_ratio :: Maybe Int),-               ("position_sensitive",) . showValue <$>-                 (args !? #position_sensitive :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ROIAlign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_ROIAlign(ndarray)" = '[]--_backward_ROIAlign ::-                   forall args . Fullfilled "_backward_ROIAlign(ndarray)" args =>-                     ArgsHMap "_backward_ROIAlign(ndarray)" args -> IO [NDArrayHandle]-_backward_ROIAlign args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIAlign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_ROIAlign_upd ::-                       forall args . Fullfilled "_backward_ROIAlign(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_ROIAlign(ndarray)" args -> IO ()-_backward_ROIAlign_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIAlign"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_box_nms(ndarray)" =-     '[ '("overlap_thresh", AttrOpt Float),-        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),-        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),-        '("id_index", AttrOpt Int), '("background_id", AttrOpt Int),-        '("force_suppress", AttrOpt Bool),-        '("in_format", AttrOpt (EnumType '["center", "corner"])),-        '("out_format", AttrOpt (EnumType '["center", "corner"])),-        '("data", AttrOpt NDArrayHandle)]--_contrib_box_nms ::-                 forall args . Fullfilled "_contrib_box_nms(ndarray)" args =>-                   ArgsHMap "_contrib_box_nms(ndarray)" args -> IO [NDArrayHandle]-_contrib_box_nms args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_nms"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_box_nms_upd ::-                     forall args . Fullfilled "_contrib_box_nms(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_contrib_box_nms(ndarray)" args -> IO ()-_contrib_box_nms_upd outputs args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_nms"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_contrib_box_nms(ndarray)" =-     '[ '("overlap_thresh", AttrOpt Float),-        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),-        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),-        '("id_index", AttrOpt Int), '("background_id", AttrOpt Int),-        '("force_suppress", AttrOpt Bool),-        '("in_format", AttrOpt (EnumType '["center", "corner"])),-        '("out_format", AttrOpt (EnumType '["center", "corner"]))]--_backward_contrib_box_nms ::-                          forall args .-                            Fullfilled "_backward_contrib_box_nms(ndarray)" args =>-                            ArgsHMap "_backward_contrib_box_nms(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_contrib_box_nms args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_nms"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_box_nms_upd ::-                              forall args .-                                Fullfilled "_backward_contrib_box_nms(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_contrib_box_nms(ndarray)" args -> IO ()-_backward_contrib_box_nms_upd outputs args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_nms"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_box_iou(ndarray)" =-     '[ '("format", AttrOpt (EnumType '["center", "corner"])),-        '("lhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--_contrib_box_iou ::-                 forall args . Fullfilled "_contrib_box_iou(ndarray)" args =>-                   ArgsHMap "_contrib_box_iou(ndarray)" args -> IO [NDArrayHandle]-_contrib_box_iou args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_iou"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_box_iou_upd ::-                     forall args . Fullfilled "_contrib_box_iou(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_contrib_box_iou(ndarray)" args -> IO ()-_contrib_box_iou_upd outputs args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_iou"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_contrib_box_iou(ndarray)" =-     '[ '("format", AttrOpt (EnumType '["center", "corner"]))]--_backward_contrib_box_iou ::-                          forall args .-                            Fullfilled "_backward_contrib_box_iou(ndarray)" args =>-                            ArgsHMap "_backward_contrib_box_iou(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_contrib_box_iou args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_iou"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_box_iou_upd ::-                              forall args .-                                Fullfilled "_backward_contrib_box_iou(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_contrib_box_iou(ndarray)" args -> IO ()-_backward_contrib_box_iou_upd outputs args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_iou"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_bipartite_matching(ndarray)"-     =-     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),-        '("topk", AttrOpt Int), '("data", AttrOpt NDArrayHandle)]--_contrib_bipartite_matching ::-                            forall args .-                              Fullfilled "_contrib_bipartite_matching(ndarray)" args =>-                              ArgsHMap "_contrib_bipartite_matching(ndarray)" args ->-                                IO [NDArrayHandle]-_contrib_bipartite_matching args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_bipartite_matching"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_bipartite_matching_upd ::-                                forall args .-                                  Fullfilled "_contrib_bipartite_matching(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_contrib_bipartite_matching(ndarray)" args -> IO ()-_contrib_bipartite_matching_upd outputs args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_bipartite_matching"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_contrib_bipartite_matching(ndarray)" =-     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),-        '("topk", AttrOpt Int)]--_backward_contrib_bipartite_matching ::-                                     forall args .-                                       Fullfilled "_backward_contrib_bipartite_matching(ndarray)"-                                         args =>-                                       ArgsHMap "_backward_contrib_bipartite_matching(ndarray)" args-                                         -> IO [NDArrayHandle]-_backward_contrib_bipartite_matching args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_bipartite_matching"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_bipartite_matching_upd ::-                                         forall args .-                                           Fullfilled-                                             "_backward_contrib_bipartite_matching(ndarray)" args =>-                                           [NDArrayHandle] ->-                                             ArgsHMap-                                               "_backward_contrib_bipartite_matching(ndarray)"-                                               args-                                               -> IO ()-_backward_contrib_bipartite_matching_upd outputs args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_bipartite_matching"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_BilinearResize2D(ndarray)" =-     '[ '("height", AttrOpt Int), '("width", AttrOpt Int),-        '("scale_height", AttrOpt (Maybe Float)),-        '("scale_width", AttrOpt (Maybe Float)),-        '("mode",-          AttrOpt-            (EnumType-               '["like", "odd_scale", "size", "to_even_down", "to_even_up",-                 "to_odd_down", "to_odd_up"])),-        '("data", AttrOpt NDArrayHandle), '("like", AttrOpt NDArrayHandle)]--_contrib_BilinearResize2D ::-                          forall args .-                            Fullfilled "_contrib_BilinearResize2D(ndarray)" args =>-                            ArgsHMap "_contrib_BilinearResize2D(ndarray)" args ->-                              IO [NDArrayHandle]-_contrib_BilinearResize2D args-  = let scalarArgs-          = catMaybes-              [("height",) . showValue <$> (args !? #height :: Maybe Int),-               ("width",) . showValue <$> (args !? #width :: Maybe Int),-               ("scale_height",) . showValue <$>-                 (args !? #scale_height :: Maybe (Maybe Float)),-               ("scale_width",) . showValue <$>-                 (args !? #scale_width :: Maybe (Maybe Float)),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe-                      (EnumType-                         '["like", "odd_scale", "size", "to_even_down", "to_even_up",-                           "to_odd_down", "to_odd_up"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("like",) <$> (args !? #like :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_BilinearResize2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_BilinearResize2D_upd ::-                              forall args .-                                Fullfilled "_contrib_BilinearResize2D(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_contrib_BilinearResize2D(ndarray)" args -> IO ()-_contrib_BilinearResize2D_upd outputs args-  = let scalarArgs-          = catMaybes-              [("height",) . showValue <$> (args !? #height :: Maybe Int),-               ("width",) . showValue <$> (args !? #width :: Maybe Int),-               ("scale_height",) . showValue <$>-                 (args !? #scale_height :: Maybe (Maybe Float)),-               ("scale_width",) . showValue <$>-                 (args !? #scale_width :: Maybe (Maybe Float)),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe-                      (EnumType-                         '["like", "odd_scale", "size", "to_even_down", "to_even_up",-                           "to_odd_down", "to_odd_up"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("like",) <$> (args !? #like :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_BilinearResize2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_contrib_BilinearResize2D(ndarray)" = '[]--_backward_contrib_BilinearResize2D ::-                                   forall args .-                                     Fullfilled "_backward_contrib_BilinearResize2D(ndarray)"-                                       args =>-                                     ArgsHMap "_backward_contrib_BilinearResize2D(ndarray)" args ->-                                       IO [NDArrayHandle]-_backward_contrib_BilinearResize2D args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_BilinearResize2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_BilinearResize2D_upd ::-                                       forall args .-                                         Fullfilled "_backward_contrib_BilinearResize2D(ndarray)"-                                           args =>-                                         [NDArrayHandle] ->-                                           ArgsHMap "_backward_contrib_BilinearResize2D(ndarray)"-                                             args-                                             -> IO ()-_backward_contrib_BilinearResize2D_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_BilinearResize2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_boolean_mask(ndarray)" =-     '[ '("axis", AttrOpt Int), '("data", AttrOpt NDArrayHandle),-        '("index", AttrOpt NDArrayHandle)]--_contrib_boolean_mask ::-                      forall args . Fullfilled "_contrib_boolean_mask(ndarray)" args =>-                        ArgsHMap "_contrib_boolean_mask(ndarray)" args ->-                          IO [NDArrayHandle]-_contrib_boolean_mask args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("index",) <$> (args !? #index :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_boolean_mask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_boolean_mask_upd ::-                          forall args . Fullfilled "_contrib_boolean_mask(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_contrib_boolean_mask(ndarray)" args -> IO ()-_contrib_boolean_mask_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("index",) <$> (args !? #index :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_boolean_mask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_contrib_boolean_mask(ndarray)" =-     '[ '("axis", AttrOpt Int)]--_backward_contrib_boolean_mask ::-                               forall args .-                                 Fullfilled "_backward_contrib_boolean_mask(ndarray)" args =>-                                 ArgsHMap "_backward_contrib_boolean_mask(ndarray)" args ->-                                   IO [NDArrayHandle]-_backward_contrib_boolean_mask args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_boolean_mask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_boolean_mask_upd ::-                                   forall args .-                                     Fullfilled "_backward_contrib_boolean_mask(ndarray)" args =>-                                     [NDArrayHandle] ->-                                       ArgsHMap "_backward_contrib_boolean_mask(ndarray)" args ->-                                         IO ()-_backward_contrib_boolean_mask_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_boolean_mask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_SyncBatchNorm(ndarray)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("ndev", AttrOpt Int),-        '("key", AttrReq String), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle),-        '("moving_mean", AttrOpt NDArrayHandle),-        '("moving_var", AttrOpt NDArrayHandle)]--_contrib_SyncBatchNorm ::-                       forall args . Fullfilled "_contrib_SyncBatchNorm(ndarray)" args =>-                         ArgsHMap "_contrib_SyncBatchNorm(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_SyncBatchNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("ndev",) . showValue <$> (args !? #ndev :: Maybe Int),-               ("key",) . showValue <$> (args !? #key :: Maybe String)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SyncBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_SyncBatchNorm_upd ::-                           forall args . Fullfilled "_contrib_SyncBatchNorm(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_SyncBatchNorm(ndarray)" args -> IO ()-_contrib_SyncBatchNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("ndev",) . showValue <$> (args !? #ndev :: Maybe Int),-               ("key",) . showValue <$> (args !? #key :: Maybe String)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SyncBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_AdaptiveAvgPooling2D(ndarray)" =-     '[ '("output_size", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--_contrib_AdaptiveAvgPooling2D ::-                              forall args .-                                Fullfilled "_contrib_AdaptiveAvgPooling2D(ndarray)" args =>-                                ArgsHMap "_contrib_AdaptiveAvgPooling2D(ndarray)" args ->-                                  IO [NDArrayHandle]-_contrib_AdaptiveAvgPooling2D args-  = let scalarArgs-          = catMaybes-              [("output_size",) . showValue <$>-                 (args !? #output_size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_AdaptiveAvgPooling2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_AdaptiveAvgPooling2D_upd ::-                                  forall args .-                                    Fullfilled "_contrib_AdaptiveAvgPooling2D(ndarray)" args =>-                                    [NDArrayHandle] ->-                                      ArgsHMap "_contrib_AdaptiveAvgPooling2D(ndarray)" args ->-                                        IO ()-_contrib_AdaptiveAvgPooling2D_upd outputs args-  = let scalarArgs-          = catMaybes-              [("output_size",) . showValue <$>-                 (args !? #output_size :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_AdaptiveAvgPooling2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_contrib_AdaptiveAvgPooling2D(ndarray)" =-     '[]--_backward_contrib_AdaptiveAvgPooling2D ::-                                       forall args .-                                         Fullfilled-                                           "_backward_contrib_AdaptiveAvgPooling2D(ndarray)" args =>-                                         ArgsHMap "_backward_contrib_AdaptiveAvgPooling2D(ndarray)"-                                           args-                                           -> IO [NDArrayHandle]-_backward_contrib_AdaptiveAvgPooling2D args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_AdaptiveAvgPooling2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_contrib_AdaptiveAvgPooling2D_upd ::-                                           forall args .-                                             Fullfilled-                                               "_backward_contrib_AdaptiveAvgPooling2D(ndarray)"-                                               args =>-                                             [NDArrayHandle] ->-                                               ArgsHMap-                                                 "_backward_contrib_AdaptiveAvgPooling2D(ndarray)"-                                                 args-                                                 -> IO ()-_backward_contrib_AdaptiveAvgPooling2D_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_AdaptiveAvgPooling2D"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_crop(ndarray)" =-     '[ '("x", AttrReq Int), '("y", AttrReq Int),-        '("width", AttrReq Int), '("height", AttrReq Int),-        '("data", AttrOpt NDArrayHandle)]--_image_crop ::-            forall args . Fullfilled "_image_crop(ndarray)" args =>-              ArgsHMap "_image_crop(ndarray)" args -> IO [NDArrayHandle]-_image_crop args-  = let scalarArgs-          = catMaybes-              [("x",) . showValue <$> (args !? #x :: Maybe Int),-               ("y",) . showValue <$> (args !? #y :: Maybe Int),-               ("width",) . showValue <$> (args !? #width :: Maybe Int),-               ("height",) . showValue <$> (args !? #height :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_crop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_crop_upd ::-                forall args . Fullfilled "_image_crop(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_image_crop(ndarray)" args -> IO ()-_image_crop_upd outputs args-  = let scalarArgs-          = catMaybes-              [("x",) . showValue <$> (args !? #x :: Maybe Int),-               ("y",) . showValue <$> (args !? #y :: Maybe Int),-               ("width",) . showValue <$> (args !? #width :: Maybe Int),-               ("height",) . showValue <$> (args !? #height :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_crop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_image_crop(ndarray)" = '[]--_backward_image_crop ::-                     forall args . Fullfilled "_backward_image_crop(ndarray)" args =>-                       ArgsHMap "_backward_image_crop(ndarray)" args -> IO [NDArrayHandle]-_backward_image_crop args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_image_crop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_image_crop_upd ::-                         forall args . Fullfilled "_backward_image_crop(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_image_crop(ndarray)" args -> IO ()-_backward_image_crop_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_image_crop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_to_tensor(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_to_tensor ::-                 forall args . Fullfilled "_image_to_tensor(ndarray)" args =>-                   ArgsHMap "_image_to_tensor(ndarray)" args -> IO [NDArrayHandle]-_image_to_tensor args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_to_tensor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_to_tensor_upd ::-                     forall args . Fullfilled "_image_to_tensor(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_image_to_tensor(ndarray)" args -> IO ()-_image_to_tensor_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_to_tensor"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_normalize(ndarray)" =-     '[ '("mean", AttrOpt [Float]), '("std", AttrOpt [Float]),-        '("data", AttrOpt NDArrayHandle)]--_image_normalize ::-                 forall args . Fullfilled "_image_normalize(ndarray)" args =>-                   ArgsHMap "_image_normalize(ndarray)" args -> IO [NDArrayHandle]-_image_normalize args-  = let scalarArgs-          = catMaybes-              [("mean",) . showValue <$> (args !? #mean :: Maybe [Float]),-               ("std",) . showValue <$> (args !? #std :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_normalize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_normalize_upd ::-                     forall args . Fullfilled "_image_normalize(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_image_normalize(ndarray)" args -> IO ()-_image_normalize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mean",) . showValue <$> (args !? #mean :: Maybe [Float]),-               ("std",) . showValue <$> (args !? #std :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_normalize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_image_normalize(ndarray)" =-     '[]--_backward_image_normalize ::-                          forall args .-                            Fullfilled "_backward_image_normalize(ndarray)" args =>-                            ArgsHMap "_backward_image_normalize(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_image_normalize args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_image_normalize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_image_normalize_upd ::-                              forall args .-                                Fullfilled "_backward_image_normalize(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_image_normalize(ndarray)" args -> IO ()-_backward_image_normalize_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_image_normalize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_flip_left_right(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_flip_left_right ::-                       forall args . Fullfilled "_image_flip_left_right(ndarray)" args =>-                         ArgsHMap "_image_flip_left_right(ndarray)" args ->-                           IO [NDArrayHandle]-_image_flip_left_right args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_left_right"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_flip_left_right_upd ::-                           forall args . Fullfilled "_image_flip_left_right(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_flip_left_right(ndarray)" args -> IO ()-_image_flip_left_right_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_left_right"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_image_random_flip_left_right(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_random_flip_left_right ::-                              forall args .-                                Fullfilled "_image_random_flip_left_right(ndarray)" args =>-                                ArgsHMap "_image_random_flip_left_right(ndarray)" args ->-                                  IO [NDArrayHandle]-_image_random_flip_left_right args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_left_right"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_flip_left_right_upd ::-                                  forall args .-                                    Fullfilled "_image_random_flip_left_right(ndarray)" args =>-                                    [NDArrayHandle] ->-                                      ArgsHMap "_image_random_flip_left_right(ndarray)" args ->-                                        IO ()-_image_random_flip_left_right_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_left_right"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_flip_top_bottom(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_flip_top_bottom ::-                       forall args . Fullfilled "_image_flip_top_bottom(ndarray)" args =>-                         ArgsHMap "_image_flip_top_bottom(ndarray)" args ->-                           IO [NDArrayHandle]-_image_flip_top_bottom args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_top_bottom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_flip_top_bottom_upd ::-                           forall args . Fullfilled "_image_flip_top_bottom(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_flip_top_bottom(ndarray)" args -> IO ()-_image_flip_top_bottom_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_top_bottom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_image_random_flip_top_bottom(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_image_random_flip_top_bottom ::-                              forall args .-                                Fullfilled "_image_random_flip_top_bottom(ndarray)" args =>-                                ArgsHMap "_image_random_flip_top_bottom(ndarray)" args ->-                                  IO [NDArrayHandle]-_image_random_flip_top_bottom args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_top_bottom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_flip_top_bottom_upd ::-                                  forall args .-                                    Fullfilled "_image_random_flip_top_bottom(ndarray)" args =>-                                    [NDArrayHandle] ->-                                      ArgsHMap "_image_random_flip_top_bottom(ndarray)" args ->-                                        IO ()-_image_random_flip_top_bottom_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_top_bottom"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_brightness(ndarray)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_brightness ::-                         forall args .-                           Fullfilled "_image_random_brightness(ndarray)" args =>-                           ArgsHMap "_image_random_brightness(ndarray)" args ->-                             IO [NDArrayHandle]-_image_random_brightness args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_brightness"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_brightness_upd ::-                             forall args .-                               Fullfilled "_image_random_brightness(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_image_random_brightness(ndarray)" args -> IO ()-_image_random_brightness_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_brightness"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_contrast(ndarray)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_contrast ::-                       forall args . Fullfilled "_image_random_contrast(ndarray)" args =>-                         ArgsHMap "_image_random_contrast(ndarray)" args ->-                           IO [NDArrayHandle]-_image_random_contrast args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_contrast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_contrast_upd ::-                           forall args . Fullfilled "_image_random_contrast(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_random_contrast(ndarray)" args -> IO ()-_image_random_contrast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_contrast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_saturation(ndarray)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_saturation ::-                         forall args .-                           Fullfilled "_image_random_saturation(ndarray)" args =>-                           ArgsHMap "_image_random_saturation(ndarray)" args ->-                             IO [NDArrayHandle]-_image_random_saturation args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_saturation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_saturation_upd ::-                             forall args .-                               Fullfilled "_image_random_saturation(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_image_random_saturation(ndarray)" args -> IO ()-_image_random_saturation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_saturation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_hue(ndarray)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_hue ::-                  forall args . Fullfilled "_image_random_hue(ndarray)" args =>-                    ArgsHMap "_image_random_hue(ndarray)" args -> IO [NDArrayHandle]-_image_random_hue args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_hue"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_hue_upd ::-                      forall args . Fullfilled "_image_random_hue(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_image_random_hue(ndarray)" args -> IO ()-_image_random_hue_upd outputs args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_hue"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_color_jitter(ndarray)" =-     '[ '("brightness", AttrReq Float), '("contrast", AttrReq Float),-        '("saturation", AttrReq Float), '("hue", AttrReq Float),-        '("data", AttrOpt NDArrayHandle)]--_image_random_color_jitter ::-                           forall args .-                             Fullfilled "_image_random_color_jitter(ndarray)" args =>-                             ArgsHMap "_image_random_color_jitter(ndarray)" args ->-                               IO [NDArrayHandle]-_image_random_color_jitter args-  = let scalarArgs-          = catMaybes-              [("brightness",) . showValue <$>-                 (args !? #brightness :: Maybe Float),-               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),-               ("saturation",) . showValue <$>-                 (args !? #saturation :: Maybe Float),-               ("hue",) . showValue <$> (args !? #hue :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_color_jitter"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_color_jitter_upd ::-                               forall args .-                                 Fullfilled "_image_random_color_jitter(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_image_random_color_jitter(ndarray)" args -> IO ()-_image_random_color_jitter_upd outputs args-  = let scalarArgs-          = catMaybes-              [("brightness",) . showValue <$>-                 (args !? #brightness :: Maybe Float),-               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),-               ("saturation",) . showValue <$>-                 (args !? #saturation :: Maybe Float),-               ("hue",) . showValue <$> (args !? #hue :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_color_jitter"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_adjust_lighting(ndarray)" =-     '[ '("alpha", AttrReq [Float]), '("data", AttrOpt NDArrayHandle)]--_image_adjust_lighting ::-                       forall args . Fullfilled "_image_adjust_lighting(ndarray)" args =>-                         ArgsHMap "_image_adjust_lighting(ndarray)" args ->-                           IO [NDArrayHandle]-_image_adjust_lighting args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_adjust_lighting"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_adjust_lighting_upd ::-                           forall args . Fullfilled "_image_adjust_lighting(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_adjust_lighting(ndarray)" args -> IO ()-_image_adjust_lighting_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_adjust_lighting"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_random_lighting(ndarray)" =-     '[ '("alpha_std", AttrOpt Float), '("data", AttrOpt NDArrayHandle)]--_image_random_lighting ::-                       forall args . Fullfilled "_image_random_lighting(ndarray)" args =>-                         ArgsHMap "_image_random_lighting(ndarray)" args ->-                           IO [NDArrayHandle]-_image_random_lighting args-  = let scalarArgs-          = catMaybes-              [("alpha_std",) . showValue <$>-                 (args !? #alpha_std :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_lighting"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_random_lighting_upd ::-                           forall args . Fullfilled "_image_random_lighting(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_image_random_lighting(ndarray)" args -> IO ()-_image_random_lighting_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha_std",) . showValue <$>-                 (args !? #alpha_std :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_lighting"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_image_resize(ndarray)" =-     '[ '("size", AttrOpt [Int]), '("keep_ratio", AttrOpt Bool),-        '("interp", AttrOpt Int), '("data", AttrOpt NDArrayHandle)]--_image_resize ::-              forall args . Fullfilled "_image_resize(ndarray)" args =>-                ArgsHMap "_image_resize(ndarray)" args -> IO [NDArrayHandle]-_image_resize args-  = let scalarArgs-          = catMaybes-              [("size",) . showValue <$> (args !? #size :: Maybe [Int]),-               ("keep_ratio",) . showValue <$>-                 (args !? #keep_ratio :: Maybe Bool),-               ("interp",) . showValue <$> (args !? #interp :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_resize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_image_resize_upd ::-                  forall args . Fullfilled "_image_resize(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_image_resize(ndarray)" args -> IO ()-_image_resize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("size",) . showValue <$> (args !? #size :: Maybe [Int]),-               ("keep_ratio",) . showValue <$>-                 (args !? #keep_ratio :: Maybe Bool),-               ("interp",) . showValue <$> (args !? #interp :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_resize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "moments(ndarray)" =-     '[ '("axes", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle)]--moments ::-        forall args . Fullfilled "moments(ndarray)" args =>-          ArgsHMap "moments(ndarray)" args -> IO [NDArrayHandle]-moments args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "moments"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--moments_upd ::-            forall args . Fullfilled "moments(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "moments(ndarray)" args -> IO ()-moments_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "moments"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_moments(ndarray)" = '[]--_backward_moments ::-                  forall args . Fullfilled "_backward_moments(ndarray)" args =>-                    ArgsHMap "_backward_moments(ndarray)" args -> IO [NDArrayHandle]-_backward_moments args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_moments"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_moments_upd ::-                      forall args . Fullfilled "_backward_moments(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_moments(ndarray)" args -> IO ()-_backward_moments_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_moments"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "softmax(ndarray)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("dtype",-          AttrOpt (Maybe (EnumType '["float16", "float32", "float64"]))),-        '("data", AttrOpt NDArrayHandle)]--softmax ::-        forall args . Fullfilled "softmax(ndarray)" args =>-          ArgsHMap "softmax(ndarray)" args -> IO [NDArrayHandle]-softmax args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double)),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (Maybe (EnumType '["float16", "float32", "float64"])))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--softmax_upd ::-            forall args . Fullfilled "softmax(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "softmax(ndarray)" args -> IO ()-softmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double)),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (Maybe (EnumType '["float16", "float32", "float64"])))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_softmax(ndarray)" =-     '[ '("args", AttrOpt [NDArrayHandle])]--_backward_softmax ::-                  forall args . Fullfilled "_backward_softmax(ndarray)" args =>-                    ArgsHMap "_backward_softmax(ndarray)" args -> IO [NDArrayHandle]-_backward_softmax args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_backward_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_softmax_upd ::-                      forall args . Fullfilled "_backward_softmax(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_softmax(ndarray)" args -> IO ()-_backward_softmax_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_backward_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "softmin(ndarray)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("dtype",-          AttrOpt (Maybe (EnumType '["float16", "float32", "float64"]))),-        '("data", AttrOpt NDArrayHandle)]--softmin ::-        forall args . Fullfilled "softmin(ndarray)" args =>-          ArgsHMap "softmin(ndarray)" args -> IO [NDArrayHandle]-softmin args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double)),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (Maybe (EnumType '["float16", "float32", "float64"])))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--softmin_upd ::-            forall args . Fullfilled "softmin(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "softmin(ndarray)" args -> IO ()-softmin_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double)),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (Maybe (EnumType '["float16", "float32", "float64"])))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_softmin(ndarray)" =-     '[ '("args", AttrOpt [NDArrayHandle])]--_backward_softmin ::-                  forall args . Fullfilled "_backward_softmin(ndarray)" args =>-                    ArgsHMap "_backward_softmin(ndarray)" args -> IO [NDArrayHandle]-_backward_softmin args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_backward_softmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_softmin_upd ::-                      forall args . Fullfilled "_backward_softmin(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_softmin(ndarray)" args -> IO ()-_backward_softmin_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_backward_softmin"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "log_softmax(ndarray)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("dtype",-          AttrOpt (Maybe (EnumType '["float16", "float32", "float64"]))),-        '("data", AttrOpt NDArrayHandle)]--log_softmax ::-            forall args . Fullfilled "log_softmax(ndarray)" args =>-              ArgsHMap "log_softmax(ndarray)" args -> IO [NDArrayHandle]-log_softmax args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double)),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (Maybe (EnumType '["float16", "float32", "float64"])))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--log_softmax_upd ::-                forall args . Fullfilled "log_softmax(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "log_softmax(ndarray)" args -> IO ()-log_softmax_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double)),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (Maybe (EnumType '["float16", "float32", "float64"])))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_log_softmax(ndarray)" =-     '[ '("args", AttrOpt [NDArrayHandle])]--_backward_log_softmax ::-                      forall args . Fullfilled "_backward_log_softmax(ndarray)" args =>-                        ArgsHMap "_backward_log_softmax(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_log_softmax args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_backward_log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_log_softmax_upd ::-                          forall args . Fullfilled "_backward_log_softmax(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_log_softmax(ndarray)" args -> IO ()-_backward_log_softmax_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_backward_log_softmax"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Pooling(ndarray)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),-        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("pooling_convention",-          AttrOpt (EnumType '["full", "same", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("p_value", AttrOpt (Maybe Int)),-        '("count_include_pad", AttrOpt (Maybe Bool)),-        '("layout",-          AttrOpt-            (Maybe-               (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"]))),-        '("data", AttrOpt NDArrayHandle)]--_Pooling ::-         forall args . Fullfilled "_Pooling(ndarray)" args =>-           ArgsHMap "_Pooling(ndarray)" args -> IO [NDArrayHandle]-_Pooling args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "same", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool)),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe-                         (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"])))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Pooling_upd ::-             forall args . Fullfilled "_Pooling(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Pooling(ndarray)" args -> IO ()-_Pooling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "same", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool)),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe-                         (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"])))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Pooling(ndarray)" = '[]--_backward_Pooling ::-                  forall args . Fullfilled "_backward_Pooling(ndarray)" args =>-                    ArgsHMap "_backward_Pooling(ndarray)" args -> IO [NDArrayHandle]-_backward_Pooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Pooling_upd ::-                      forall args . Fullfilled "_backward_Pooling(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_Pooling(ndarray)" args -> IO ()-_backward_Pooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Deconvolution(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("adj", AttrOpt [Int]), '("target_shape", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_Deconvolution ::-               forall args . Fullfilled "_Deconvolution(ndarray)" args =>-                 ArgsHMap "_Deconvolution(ndarray)" args -> IO [NDArrayHandle]-_Deconvolution args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("adj",) . showValue <$> (args !? #adj :: Maybe [Int]),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Deconvolution_upd ::-                   forall args . Fullfilled "_Deconvolution(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_Deconvolution(ndarray)" args -> IO ()-_Deconvolution_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("adj",) . showValue <$> (args !? #adj :: Maybe [Int]),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Deconvolution(ndarray)" =-     '[]--_backward_Deconvolution ::-                        forall args . Fullfilled "_backward_Deconvolution(ndarray)" args =>-                          ArgsHMap "_backward_Deconvolution(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_Deconvolution args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Deconvolution_upd ::-                            forall args . Fullfilled "_backward_Deconvolution(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_Deconvolution(ndarray)" args -> IO ()-_backward_Deconvolution_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Deconvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Activation(ndarray)" =-     '[ '("act_type",-          AttrReq-            (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"])),-        '("data", AttrOpt NDArrayHandle)]--_Activation ::-            forall args . Fullfilled "_Activation(ndarray)" args =>-              ArgsHMap "_Activation(ndarray)" args -> IO [NDArrayHandle]-_Activation args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Activation_upd ::-                forall args . Fullfilled "_Activation(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_Activation(ndarray)" args -> IO ()-_Activation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Activation(ndarray)" = '[]--_backward_Activation ::-                     forall args . Fullfilled "_backward_Activation(ndarray)" args =>-                       ArgsHMap "_backward_Activation(ndarray)" args -> IO [NDArrayHandle]-_backward_Activation args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Activation_upd ::-                         forall args . Fullfilled "_backward_Activation(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_Activation(ndarray)" args -> IO ()-_backward_Activation_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Activation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_UpSampling(ndarray)" =-     '[ '("scale", AttrReq Int), '("num_filter", AttrOpt Int),-        '("sample_type", AttrReq (EnumType '["bilinear", "nearest"])),-        '("multi_input_mode", AttrOpt (EnumType '["concat", "sum"])),-        '("num_args", AttrReq Int), '("workspace", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--_UpSampling ::-            forall args . Fullfilled "_UpSampling(ndarray)" args =>-              ArgsHMap "_UpSampling(ndarray)" args -> IO [NDArrayHandle]-_UpSampling args-  = let scalarArgs-          = catMaybes-              [("scale",) . showValue <$> (args !? #scale :: Maybe Int),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("sample_type",) . showValue <$>-                 (args !? #sample_type ::-                    Maybe (EnumType '["bilinear", "nearest"])),-               ("multi_input_mode",) . showValue <$>-                 (args !? #multi_input_mode :: Maybe (EnumType '["concat", "sum"])),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "UpSampling"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_UpSampling_upd ::-                forall args . Fullfilled "_UpSampling(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_UpSampling(ndarray)" args -> IO ()-_UpSampling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("scale",) . showValue <$> (args !? #scale :: Maybe Int),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("sample_type",) . showValue <$>-                 (args !? #sample_type ::-                    Maybe (EnumType '["bilinear", "nearest"])),-               ("multi_input_mode",) . showValue <$>-                 (args !? #multi_input_mode :: Maybe (EnumType '["concat", "sum"])),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "UpSampling"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_UpSampling(ndarray)" = '[]--_backward_UpSampling ::-                     forall args . Fullfilled "_backward_UpSampling(ndarray)" args =>-                       ArgsHMap "_backward_UpSampling(ndarray)" args -> IO [NDArrayHandle]-_backward_UpSampling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_UpSampling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_UpSampling_upd ::-                         forall args . Fullfilled "_backward_UpSampling(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_UpSampling(ndarray)" args -> IO ()-_backward_UpSampling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_UpSampling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BatchNorm(ndarray)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle),-        '("moving_mean", AttrOpt NDArrayHandle),-        '("moving_var", AttrOpt NDArrayHandle)]--_BatchNorm ::-           forall args . Fullfilled "_BatchNorm(ndarray)" args =>-             ArgsHMap "_BatchNorm(ndarray)" args -> IO [NDArrayHandle]-_BatchNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BatchNorm_upd ::-               forall args . Fullfilled "_BatchNorm(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_BatchNorm(ndarray)" args -> IO ()-_BatchNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe NDArrayHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_BatchNorm(ndarray)" = '[]--_backward_BatchNorm ::-                    forall args . Fullfilled "_backward_BatchNorm(ndarray)" args =>-                      ArgsHMap "_backward_BatchNorm(ndarray)" args -> IO [NDArrayHandle]-_backward_BatchNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_BatchNorm_upd ::-                        forall args . Fullfilled "_backward_BatchNorm(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_BatchNorm(ndarray)" args -> IO ()-_backward_BatchNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CTCLoss(ndarray)" =-     '[ '("use_data_lengths", AttrOpt Bool),-        '("use_label_lengths", AttrOpt Bool),-        '("blank_label", AttrOpt (EnumType '["first", "last"])),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle),-        '("data_lengths", AttrOpt NDArrayHandle),-        '("label_lengths", AttrOpt NDArrayHandle)]--_CTCLoss ::-         forall args . Fullfilled "_CTCLoss(ndarray)" args =>-           ArgsHMap "_CTCLoss(ndarray)" args -> IO [NDArrayHandle]-_CTCLoss args-  = let scalarArgs-          = catMaybes-              [("use_data_lengths",) . showValue <$>-                 (args !? #use_data_lengths :: Maybe Bool),-               ("use_label_lengths",) . showValue <$>-                 (args !? #use_label_lengths :: Maybe Bool),-               ("blank_label",) . showValue <$>-                 (args !? #blank_label :: Maybe (EnumType '["first", "last"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("data_lengths",) <$>-                 (args !? #data_lengths :: Maybe NDArrayHandle),-               ("label_lengths",) <$>-                 (args !? #label_lengths :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CTCLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CTCLoss_upd ::-             forall args . Fullfilled "_CTCLoss(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_CTCLoss(ndarray)" args -> IO ()-_CTCLoss_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_data_lengths",) . showValue <$>-                 (args !? #use_data_lengths :: Maybe Bool),-               ("use_label_lengths",) . showValue <$>-                 (args !? #use_label_lengths :: Maybe Bool),-               ("blank_label",) . showValue <$>-                 (args !? #blank_label :: Maybe (EnumType '["first", "last"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("data_lengths",) <$>-                 (args !? #data_lengths :: Maybe NDArrayHandle),-               ("label_lengths",) <$>-                 (args !? #label_lengths :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CTCLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_ctc_loss(ndarray)" = '[]--_backward_ctc_loss ::-                   forall args . Fullfilled "_backward_ctc_loss(ndarray)" args =>-                     ArgsHMap "_backward_ctc_loss(ndarray)" args -> IO [NDArrayHandle]-_backward_ctc_loss args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ctc_loss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_ctc_loss_upd ::-                       forall args . Fullfilled "_backward_ctc_loss(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_ctc_loss(ndarray)" args -> IO ()-_backward_ctc_loss_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ctc_loss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_FullyConnected(ndarray)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_FullyConnected ::-                forall args . Fullfilled "_FullyConnected(ndarray)" args =>-                  ArgsHMap "_FullyConnected(ndarray)" args -> IO [NDArrayHandle]-_FullyConnected args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_FullyConnected_upd ::-                    forall args . Fullfilled "_FullyConnected(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_FullyConnected(ndarray)" args -> IO ()-_FullyConnected_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_FullyConnected(ndarray)" =-     '[]--_backward_FullyConnected ::-                         forall args .-                           Fullfilled "_backward_FullyConnected(ndarray)" args =>-                           ArgsHMap "_backward_FullyConnected(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_FullyConnected args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_FullyConnected_upd ::-                             forall args .-                               Fullfilled "_backward_FullyConnected(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_FullyConnected(ndarray)" args -> IO ()-_backward_FullyConnected_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_FullyConnected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Convolution(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_Convolution ::-             forall args . Fullfilled "_Convolution(ndarray)" args =>-               ArgsHMap "_Convolution(ndarray)" args -> IO [NDArrayHandle]-_Convolution args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Convolution_upd ::-                 forall args . Fullfilled "_Convolution(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_Convolution(ndarray)" args -> IO ()-_Convolution_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Convolution(ndarray)" = '[]--_backward_Convolution ::-                      forall args . Fullfilled "_backward_Convolution(ndarray)" args =>-                        ArgsHMap "_backward_Convolution(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_Convolution args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Convolution_upd ::-                          forall args . Fullfilled "_backward_Convolution(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_Convolution(ndarray)" args -> IO ()-_backward_Convolution_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LayerNorm(ndarray)" =-     '[ '("axis", AttrOpt Int), '("eps", AttrOpt Float),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_LayerNorm ::-           forall args . Fullfilled "_LayerNorm(ndarray)" args =>-             ArgsHMap "_LayerNorm(ndarray)" args -> IO [NDArrayHandle]-_LayerNorm args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LayerNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LayerNorm_upd ::-               forall args . Fullfilled "_LayerNorm(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_LayerNorm(ndarray)" args -> IO ()-_LayerNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LayerNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_LayerNorm(ndarray)" = '[]--_backward_LayerNorm ::-                    forall args . Fullfilled "_backward_LayerNorm(ndarray)" args =>-                      ArgsHMap "_backward_LayerNorm(ndarray)" args -> IO [NDArrayHandle]-_backward_LayerNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LayerNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_LayerNorm_upd ::-                        forall args . Fullfilled "_backward_LayerNorm(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_LayerNorm(ndarray)" args -> IO ()-_backward_LayerNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LayerNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Concat(ndarray)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--_Concat ::-        forall args . Fullfilled "_Concat(ndarray)" args =>-          ArgsHMap "_Concat(ndarray)" args -> IO [NDArrayHandle]-_Concat args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_Concat_upd ::-            forall args . Fullfilled "_Concat(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_Concat(ndarray)" args -> IO ()-_Concat_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Concat(ndarray)" = '[]--_backward_Concat ::-                 forall args . Fullfilled "_backward_Concat(ndarray)" args =>-                   ArgsHMap "_backward_Concat(ndarray)" args -> IO [NDArrayHandle]-_backward_Concat args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Concat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Concat_upd ::-                     forall args . Fullfilled "_backward_Concat(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_backward_Concat(ndarray)" args -> IO ()-_backward_Concat_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Concat"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_rnn_param_concat(ndarray)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--_rnn_param_concat ::-                  forall args . Fullfilled "_rnn_param_concat(ndarray)" args =>-                    ArgsHMap "_rnn_param_concat(ndarray)" args -> IO [NDArrayHandle]-_rnn_param_concat args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_rnn_param_concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_rnn_param_concat_upd ::-                      forall args . Fullfilled "_rnn_param_concat(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_rnn_param_concat(ndarray)" args -> IO ()-_rnn_param_concat_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_rnn_param_concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_SoftmaxActivation(ndarray)" =-     '[ '("mode", AttrOpt (EnumType '["channel", "instance"])),-        '("data", AttrOpt NDArrayHandle)]--_SoftmaxActivation ::-                   forall args . Fullfilled "_SoftmaxActivation(ndarray)" args =>-                     ArgsHMap "_SoftmaxActivation(ndarray)" args -> IO [NDArrayHandle]-_SoftmaxActivation args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["channel", "instance"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SoftmaxActivation_upd ::-                       forall args . Fullfilled "_SoftmaxActivation(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_SoftmaxActivation(ndarray)" args -> IO ()-_SoftmaxActivation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["channel", "instance"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SoftmaxActivation(ndarray)"-     = '[]--_backward_SoftmaxActivation ::-                            forall args .-                              Fullfilled "_backward_SoftmaxActivation(ndarray)" args =>-                              ArgsHMap "_backward_SoftmaxActivation(ndarray)" args ->-                                IO [NDArrayHandle]-_backward_SoftmaxActivation args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SoftmaxActivation_upd ::-                                forall args .-                                  Fullfilled "_backward_SoftmaxActivation(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward_SoftmaxActivation(ndarray)" args -> IO ()-_backward_SoftmaxActivation_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxActivation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LRN(ndarray)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("knorm", AttrOpt Float), '("nsize", AttrReq Int),-        '("data", AttrOpt NDArrayHandle)]--_LRN ::-     forall args . Fullfilled "_LRN(ndarray)" args =>-       ArgsHMap "_LRN(ndarray)" args -> IO [NDArrayHandle]-_LRN args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("knorm",) . showValue <$> (args !? #knorm :: Maybe Float),-               ("nsize",) . showValue <$> (args !? #nsize :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LRN_upd ::-         forall args . Fullfilled "_LRN(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_LRN(ndarray)" args -> IO ()-_LRN_upd outputs args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("knorm",) . showValue <$> (args !? #knorm :: Maybe Float),-               ("nsize",) . showValue <$> (args !? #nsize :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_LRN(ndarray)" = '[]--_backward_LRN ::-              forall args . Fullfilled "_backward_LRN(ndarray)" args =>-                ArgsHMap "_backward_LRN(ndarray)" args -> IO [NDArrayHandle]-_backward_LRN args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_LRN_upd ::-                  forall args . Fullfilled "_backward_LRN(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_LRN(ndarray)" args -> IO ()-_backward_LRN_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LRN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Dropout(ndarray)" =-     '[ '("p", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["always", "training"])),-        '("axes", AttrOpt [Int]), '("cudnn_off", AttrOpt (Maybe Bool)),-        '("data", AttrOpt NDArrayHandle)]--_Dropout ::-         forall args . Fullfilled "_Dropout(ndarray)" args =>-           ArgsHMap "_Dropout(ndarray)" args -> IO [NDArrayHandle]-_Dropout args-  = let scalarArgs-          = catMaybes-              [("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["always", "training"])),-               ("axes",) . showValue <$> (args !? #axes :: Maybe [Int]),-               ("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Dropout_upd ::-             forall args . Fullfilled "_Dropout(ndarray)" args =>-               [NDArrayHandle] -> ArgsHMap "_Dropout(ndarray)" args -> IO ()-_Dropout_upd outputs args-  = let scalarArgs-          = catMaybes-              [("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["always", "training"])),-               ("axes",) . showValue <$> (args !? #axes :: Maybe [Int]),-               ("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Dropout(ndarray)" = '[]--_backward_Dropout ::-                  forall args . Fullfilled "_backward_Dropout(ndarray)" args =>-                    ArgsHMap "_backward_Dropout(ndarray)" args -> IO [NDArrayHandle]-_backward_Dropout args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Dropout_upd ::-                      forall args . Fullfilled "_backward_Dropout(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_Dropout(ndarray)" args -> IO ()-_backward_Dropout_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Dropout"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_quantized_elemwise_add(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle),-        '("lhs_min", AttrOpt NDArrayHandle),-        '("lhs_max", AttrOpt NDArrayHandle),-        '("rhs_min", AttrOpt NDArrayHandle),-        '("rhs_max", AttrOpt NDArrayHandle)]--_contrib_quantized_elemwise_add ::-                                forall args .-                                  Fullfilled "_contrib_quantized_elemwise_add(ndarray)" args =>-                                  ArgsHMap "_contrib_quantized_elemwise_add(ndarray)" args ->-                                    IO [NDArrayHandle]-_contrib_quantized_elemwise_add args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle),-               ("lhs_min",) <$> (args !? #lhs_min :: Maybe NDArrayHandle),-               ("lhs_max",) <$> (args !? #lhs_max :: Maybe NDArrayHandle),-               ("rhs_min",) <$> (args !? #rhs_min :: Maybe NDArrayHandle),-               ("rhs_max",) <$> (args !? #rhs_max :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_elemwise_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_elemwise_add_upd ::-                                    forall args .-                                      Fullfilled "_contrib_quantized_elemwise_add(ndarray)" args =>-                                      [NDArrayHandle] ->-                                        ArgsHMap "_contrib_quantized_elemwise_add(ndarray)" args ->-                                          IO ()-_contrib_quantized_elemwise_add_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle),-               ("lhs_min",) <$> (args !? #lhs_min :: Maybe NDArrayHandle),-               ("lhs_max",) <$> (args !? #lhs_max :: Maybe NDArrayHandle),-               ("rhs_min",) <$> (args !? #rhs_min :: Maybe NDArrayHandle),-               ("rhs_max",) <$> (args !? #rhs_max :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_elemwise_add"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_dequantize(ndarray)" =-     '[ '("out_type", AttrOpt (EnumType '["float32"])),-        '("data", AttrOpt NDArrayHandle),-        '("min_range", AttrOpt NDArrayHandle),-        '("max_range", AttrOpt NDArrayHandle)]--_contrib_dequantize ::-                    forall args . Fullfilled "_contrib_dequantize(ndarray)" args =>-                      ArgsHMap "_contrib_dequantize(ndarray)" args -> IO [NDArrayHandle]-_contrib_dequantize args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["float32"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dequantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_dequantize_upd ::-                        forall args . Fullfilled "_contrib_dequantize(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_contrib_dequantize(ndarray)" args -> IO ()-_contrib_dequantize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["float32"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dequantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantized_flatten(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("min_data", AttrOpt NDArrayHandle),-        '("max_data", AttrOpt NDArrayHandle)]--_contrib_quantized_flatten ::-                           forall args .-                             Fullfilled "_contrib_quantized_flatten(ndarray)" args =>-                             ArgsHMap "_contrib_quantized_flatten(ndarray)" args ->-                               IO [NDArrayHandle]-_contrib_quantized_flatten args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_flatten_upd ::-                               forall args .-                                 Fullfilled "_contrib_quantized_flatten(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_contrib_quantized_flatten(ndarray)" args -> IO ()-_contrib_quantized_flatten_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_flatten"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantized_conv(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle),-        '("min_data", AttrOpt NDArrayHandle),-        '("max_data", AttrOpt NDArrayHandle),-        '("min_weight", AttrOpt NDArrayHandle),-        '("max_weight", AttrOpt NDArrayHandle),-        '("min_bias", AttrOpt NDArrayHandle),-        '("max_bias", AttrOpt NDArrayHandle)]--_contrib_quantized_conv ::-                        forall args . Fullfilled "_contrib_quantized_conv(ndarray)" args =>-                          ArgsHMap "_contrib_quantized_conv(ndarray)" args ->-                            IO [NDArrayHandle]-_contrib_quantized_conv args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe NDArrayHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe NDArrayHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe NDArrayHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_conv"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_conv_upd ::-                            forall args . Fullfilled "_contrib_quantized_conv(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_contrib_quantized_conv(ndarray)" args -> IO ()-_contrib_quantized_conv_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe NDArrayHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe NDArrayHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe NDArrayHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_conv"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_quantized_fully_connected(ndarray)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle),-        '("min_data", AttrOpt NDArrayHandle),-        '("max_data", AttrOpt NDArrayHandle),-        '("min_weight", AttrOpt NDArrayHandle),-        '("max_weight", AttrOpt NDArrayHandle),-        '("min_bias", AttrOpt NDArrayHandle),-        '("max_bias", AttrOpt NDArrayHandle)]--_contrib_quantized_fully_connected ::-                                   forall args .-                                     Fullfilled "_contrib_quantized_fully_connected(ndarray)"-                                       args =>-                                     ArgsHMap "_contrib_quantized_fully_connected(ndarray)" args ->-                                       IO [NDArrayHandle]-_contrib_quantized_fully_connected args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe NDArrayHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe NDArrayHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe NDArrayHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_fully_connected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_fully_connected_upd ::-                                       forall args .-                                         Fullfilled "_contrib_quantized_fully_connected(ndarray)"-                                           args =>-                                         [NDArrayHandle] ->-                                           ArgsHMap "_contrib_quantized_fully_connected(ndarray)"-                                             args-                                             -> IO ()-_contrib_quantized_fully_connected_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe NDArrayHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe NDArrayHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe NDArrayHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_fully_connected"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantized_pooling(ndarray)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),-        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("pooling_convention",-          AttrOpt (EnumType '["full", "same", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("p_value", AttrOpt (Maybe Int)),-        '("count_include_pad", AttrOpt (Maybe Bool)),-        '("layout",-          AttrOpt-            (Maybe-               (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("min_data", AttrOpt NDArrayHandle),-        '("max_data", AttrOpt NDArrayHandle)]--_contrib_quantized_pooling ::-                           forall args .-                             Fullfilled "_contrib_quantized_pooling(ndarray)" args =>-                             ArgsHMap "_contrib_quantized_pooling(ndarray)" args ->-                               IO [NDArrayHandle]-_contrib_quantized_pooling args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "same", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool)),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe-                         (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_pooling_upd ::-                               forall args .-                                 Fullfilled "_contrib_quantized_pooling(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_contrib_quantized_pooling(ndarray)" args -> IO ()-_contrib_quantized_pooling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "same", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool)),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe-                         (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_pooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantize_v2(ndarray)" =-     '[ '("out_type", AttrOpt (EnumType '["auto", "int8", "uint8"])),-        '("min_calib_range", AttrOpt (Maybe Float)),-        '("max_calib_range", AttrOpt (Maybe Float)),-        '("data", AttrOpt NDArrayHandle)]--_contrib_quantize_v2 ::-                     forall args . Fullfilled "_contrib_quantize_v2(ndarray)" args =>-                       ArgsHMap "_contrib_quantize_v2(ndarray)" args -> IO [NDArrayHandle]-_contrib_quantize_v2 args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["auto", "int8", "uint8"])),-               ("min_calib_range",) . showValue <$>-                 (args !? #min_calib_range :: Maybe (Maybe Float)),-               ("max_calib_range",) . showValue <$>-                 (args !? #max_calib_range :: Maybe (Maybe Float))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize_v2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantize_v2_upd ::-                         forall args . Fullfilled "_contrib_quantize_v2(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_contrib_quantize_v2(ndarray)" args -> IO ()-_contrib_quantize_v2_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["auto", "int8", "uint8"])),-               ("min_calib_range",) . showValue <$>-                 (args !? #min_calib_range :: Maybe (Maybe Float)),-               ("max_calib_range",) . showValue <$>-                 (args !? #max_calib_range :: Maybe (Maybe Float))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize_v2"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantized_concat(ndarray)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--_contrib_quantized_concat ::-                          forall args .-                            Fullfilled "_contrib_quantized_concat(ndarray)" args =>-                            ArgsHMap "_contrib_quantized_concat(ndarray)" args ->-                              IO [NDArrayHandle]-_contrib_quantized_concat args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_contrib_quantized_concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_contrib_quantized_concat_upd ::-                              forall args .-                                Fullfilled "_contrib_quantized_concat(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_contrib_quantized_concat(ndarray)" args -> IO ()-_contrib_quantized_concat_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_contrib_quantized_concat"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_requantize(ndarray)" =-     '[ '("out_type", AttrOpt (EnumType '["auto", "int8", "uint8"])),-        '("min_calib_range", AttrOpt (Maybe Float)),-        '("max_calib_range", AttrOpt (Maybe Float)),-        '("data", AttrOpt NDArrayHandle),-        '("min_range", AttrOpt NDArrayHandle),-        '("max_range", AttrOpt NDArrayHandle)]--_contrib_requantize ::-                    forall args . Fullfilled "_contrib_requantize(ndarray)" args =>-                      ArgsHMap "_contrib_requantize(ndarray)" args -> IO [NDArrayHandle]-_contrib_requantize args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["auto", "int8", "uint8"])),-               ("min_calib_range",) . showValue <$>-                 (args !? #min_calib_range :: Maybe (Maybe Float)),-               ("max_calib_range",) . showValue <$>-                 (args !? #max_calib_range :: Maybe (Maybe Float))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_requantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_requantize_upd ::-                        forall args . Fullfilled "_contrib_requantize(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_contrib_requantize(ndarray)" args -> IO ()-_contrib_requantize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["auto", "int8", "uint8"])),-               ("min_calib_range",) . showValue <$>-                 (args !? #min_calib_range :: Maybe (Maybe Float)),-               ("max_calib_range",) . showValue <$>-                 (args !? #max_calib_range :: Maybe (Maybe Float))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_requantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantized_act(ndarray)" =-     '[ '("act_type",-          AttrReq-            (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"])),-        '("data", AttrOpt NDArrayHandle),-        '("min_data", AttrOpt NDArrayHandle),-        '("max_data", AttrOpt NDArrayHandle)]--_contrib_quantized_act ::-                       forall args . Fullfilled "_contrib_quantized_act(ndarray)" args =>-                         ArgsHMap "_contrib_quantized_act(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_quantized_act args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_act"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantized_act_upd ::-                           forall args . Fullfilled "_contrib_quantized_act(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_quantized_act(ndarray)" args -> IO ()-_contrib_quantized_act_upd outputs args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe NDArrayHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_act"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_quantize(ndarray)" =-     '[ '("out_type", AttrOpt (EnumType '["int8", "uint8"])),-        '("data", AttrOpt NDArrayHandle),-        '("min_range", AttrOpt NDArrayHandle),-        '("max_range", AttrOpt NDArrayHandle)]--_contrib_quantize ::-                  forall args . Fullfilled "_contrib_quantize(ndarray)" args =>-                    ArgsHMap "_contrib_quantize(ndarray)" args -> IO [NDArrayHandle]-_contrib_quantize args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["int8", "uint8"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_quantize_upd ::-                      forall args . Fullfilled "_contrib_quantize(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_contrib_quantize(ndarray)" args -> IO ()-_contrib_quantize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["int8", "uint8"]))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe NDArrayHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvimdecode(ndarray)" =-     '[ '("flag", AttrOpt Int), '("to_rgb", AttrOpt Bool),-        '("buf", AttrOpt NDArrayHandle)]--_cvimdecode ::-            forall args . Fullfilled "_cvimdecode(ndarray)" args =>-              ArgsHMap "_cvimdecode(ndarray)" args -> IO [NDArrayHandle]-_cvimdecode args-  = let scalarArgs-          = catMaybes-              [("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs-          = catMaybes [("buf",) <$> (args !? #buf :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvimdecode_upd ::-                forall args . Fullfilled "_cvimdecode(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_cvimdecode(ndarray)" args -> IO ()-_cvimdecode_upd outputs args-  = let scalarArgs-          = catMaybes-              [("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs-          = catMaybes [("buf",) <$> (args !? #buf :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvimread(ndarray)" =-     '[ '("filename", AttrReq String), '("flag", AttrOpt Int),-        '("to_rgb", AttrOpt Bool)]--_cvimread ::-          forall args . Fullfilled "_cvimread(ndarray)" args =>-            ArgsHMap "_cvimread(ndarray)" args -> IO [NDArrayHandle]-_cvimread args-  = let scalarArgs-          = catMaybes-              [("filename",) . showValue <$> (args !? #filename :: Maybe String),-               ("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimread"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvimread_upd ::-              forall args . Fullfilled "_cvimread(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_cvimread(ndarray)" args -> IO ()-_cvimread_upd outputs args-  = let scalarArgs-          = catMaybes-              [("filename",) . showValue <$> (args !? #filename :: Maybe String),-               ("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimread"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvimresize(ndarray)" =-     '[ '("w", AttrReq Int), '("h", AttrReq Int),-        '("interp", AttrOpt Int), '("src", AttrOpt NDArrayHandle)]--_cvimresize ::-            forall args . Fullfilled "_cvimresize(ndarray)" args =>-              ArgsHMap "_cvimresize(ndarray)" args -> IO [NDArrayHandle]-_cvimresize args-  = let scalarArgs-          = catMaybes-              [("w",) . showValue <$> (args !? #w :: Maybe Int),-               ("h",) . showValue <$> (args !? #h :: Maybe Int),-               ("interp",) . showValue <$> (args !? #interp :: Maybe Int)]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimresize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvimresize_upd ::-                forall args . Fullfilled "_cvimresize(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_cvimresize(ndarray)" args -> IO ()-_cvimresize_upd outputs args-  = let scalarArgs-          = catMaybes-              [("w",) . showValue <$> (args !? #w :: Maybe Int),-               ("h",) . showValue <$> (args !? #h :: Maybe Int),-               ("interp",) . showValue <$> (args !? #interp :: Maybe Int)]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimresize"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_cvcopyMakeBorder(ndarray)" =-     '[ '("top", AttrReq Int), '("bot", AttrReq Int),-        '("left", AttrReq Int), '("right", AttrReq Int),-        '("type", AttrOpt Int), '("value", AttrOpt Double),-        '("values", AttrOpt [Double]), '("src", AttrOpt NDArrayHandle)]--_cvcopyMakeBorder ::-                  forall args . Fullfilled "_cvcopyMakeBorder(ndarray)" args =>-                    ArgsHMap "_cvcopyMakeBorder(ndarray)" args -> IO [NDArrayHandle]-_cvcopyMakeBorder args-  = let scalarArgs-          = catMaybes-              [("top",) . showValue <$> (args !? #top :: Maybe Int),-               ("bot",) . showValue <$> (args !? #bot :: Maybe Int),-               ("left",) . showValue <$> (args !? #left :: Maybe Int),-               ("right",) . showValue <$> (args !? #right :: Maybe Int),-               ("type",) . showValue <$> (args !? #type :: Maybe Int),-               ("value",) . showValue <$> (args !? #value :: Maybe Double),-               ("values",) . showValue <$> (args !? #values :: Maybe [Double])]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvcopyMakeBorder"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_cvcopyMakeBorder_upd ::-                      forall args . Fullfilled "_cvcopyMakeBorder(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_cvcopyMakeBorder(ndarray)" args -> IO ()-_cvcopyMakeBorder_upd outputs args-  = let scalarArgs-          = catMaybes-              [("top",) . showValue <$> (args !? #top :: Maybe Int),-               ("bot",) . showValue <$> (args !? #bot :: Maybe Int),-               ("left",) . showValue <$> (args !? #left :: Maybe Int),-               ("right",) . showValue <$> (args !? #right :: Maybe Int),-               ("type",) . showValue <$> (args !? #type :: Maybe Int),-               ("value",) . showValue <$> (args !? #value :: Maybe Double),-               ("values",) . showValue <$> (args !? #values :: Maybe [Double])]-        tensorArgs-          = catMaybes [("src",) <$> (args !? #src :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvcopyMakeBorder"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_NoGradient(ndarray)" = '[]--_NoGradient ::-            forall args . Fullfilled "_NoGradient(ndarray)" args =>-              ArgsHMap "_NoGradient(ndarray)" args -> IO [NDArrayHandle]-_NoGradient args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_NoGradient"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_NoGradient_upd ::-                forall args . Fullfilled "_NoGradient(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_NoGradient(ndarray)" args -> IO ()-_NoGradient_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_NoGradient"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CachedOp(ndarray)" =-     '[ '("data", AttrOpt [NDArrayHandle])]--_CachedOp ::-          forall args . Fullfilled "_CachedOp(ndarray)" args =>-            ArgsHMap "_CachedOp(ndarray)" args -> IO [NDArrayHandle]-_CachedOp args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CachedOp_upd ::-              forall args . Fullfilled "_CachedOp(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_CachedOp(ndarray)" args -> IO ()-_CachedOp_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_CachedOp(ndarray)" = '[]--_backward_CachedOp ::-                   forall args . Fullfilled "_backward_CachedOp(ndarray)" args =>-                     ArgsHMap "_backward_CachedOp(ndarray)" args -> IO [NDArrayHandle]-_backward_CachedOp args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_CachedOp_upd ::-                       forall args . Fullfilled "_backward_CachedOp(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_CachedOp(ndarray)" args -> IO ()-_backward_CachedOp_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CachedOp"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_copyto(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle)]--_copyto ::-        forall args . Fullfilled "_copyto(ndarray)" args =>-          ArgsHMap "_copyto(ndarray)" args -> IO [NDArrayHandle]-_copyto args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copyto"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_copyto_upd ::-            forall args . Fullfilled "_copyto(ndarray)" args =>-              [NDArrayHandle] -> ArgsHMap "_copyto(ndarray)" args -> IO ()-_copyto_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copyto"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "softmax_cross_entropy(ndarray)" =-     '[ '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--softmax_cross_entropy ::-                      forall args . Fullfilled "softmax_cross_entropy(ndarray)" args =>-                        ArgsHMap "softmax_cross_entropy(ndarray)" args ->-                          IO [NDArrayHandle]-softmax_cross_entropy args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--softmax_cross_entropy_upd ::-                          forall args . Fullfilled "softmax_cross_entropy(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "softmax_cross_entropy(ndarray)" args -> IO ()-softmax_cross_entropy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_softmax_cross_entropy(ndarray)" = '[]--_backward_softmax_cross_entropy ::-                                forall args .-                                  Fullfilled "_backward_softmax_cross_entropy(ndarray)" args =>-                                  ArgsHMap "_backward_softmax_cross_entropy(ndarray)" args ->-                                    IO [NDArrayHandle]-_backward_softmax_cross_entropy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_softmax_cross_entropy_upd ::-                                    forall args .-                                      Fullfilled "_backward_softmax_cross_entropy(ndarray)" args =>-                                      [NDArrayHandle] ->-                                        ArgsHMap "_backward_softmax_cross_entropy(ndarray)" args ->-                                          IO ()-_backward_softmax_cross_entropy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax_cross_entropy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_foreach(ndarray)" = '[]--_backward_foreach ::-                  forall args . Fullfilled "_backward_foreach(ndarray)" args =>-                    ArgsHMap "_backward_foreach(ndarray)" args -> IO [NDArrayHandle]-_backward_foreach args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_foreach"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_foreach_upd ::-                      forall args . Fullfilled "_backward_foreach(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward_foreach(ndarray)" args -> IO ()-_backward_foreach_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_foreach"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_while_loop(ndarray)" = '[]--_backward_while_loop ::-                     forall args . Fullfilled "_backward_while_loop(ndarray)" args =>-                       ArgsHMap "_backward_while_loop(ndarray)" args -> IO [NDArrayHandle]-_backward_while_loop args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_while_loop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_while_loop_upd ::-                         forall args . Fullfilled "_backward_while_loop(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_while_loop(ndarray)" args -> IO ()-_backward_while_loop_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_while_loop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_cond(ndarray)" = '[]--_backward_cond ::-               forall args . Fullfilled "_backward_cond(ndarray)" args =>-                 ArgsHMap "_backward_cond(ndarray)" args -> IO [NDArrayHandle]-_backward_cond args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cond"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_cond_upd ::-                   forall args . Fullfilled "_backward_cond(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_cond(ndarray)" args -> IO ()-_backward_cond_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cond"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SoftmaxOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_SoftmaxOutput ::-               forall args . Fullfilled "_SoftmaxOutput(ndarray)" args =>-                 ArgsHMap "_SoftmaxOutput(ndarray)" args -> IO [NDArrayHandle]-_SoftmaxOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SoftmaxOutput_upd ::-                   forall args . Fullfilled "_SoftmaxOutput(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_SoftmaxOutput(ndarray)" args -> IO ()-_SoftmaxOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SoftmaxOutput(ndarray)" =-     '[]--_backward_SoftmaxOutput ::-                        forall args . Fullfilled "_backward_SoftmaxOutput(ndarray)" args =>-                          ArgsHMap "_backward_SoftmaxOutput(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_SoftmaxOutput args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SoftmaxOutput_upd ::-                            forall args . Fullfilled "_backward_SoftmaxOutput(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_SoftmaxOutput(ndarray)" args -> IO ()-_backward_SoftmaxOutput_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LeakyReLU(ndarray)" =-     '[ '("act_type",-          AttrOpt-            (EnumType '["elu", "gelu", "leaky", "prelu", "rrelu", "selu"])),-        '("slope", AttrOpt Float), '("lower_bound", AttrOpt Float),-        '("upper_bound", AttrOpt Float), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle)]--_LeakyReLU ::-           forall args . Fullfilled "_LeakyReLU(ndarray)" args =>-             ArgsHMap "_LeakyReLU(ndarray)" args -> IO [NDArrayHandle]-_LeakyReLU args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["elu", "gelu", "leaky", "prelu", "rrelu", "selu"])),-               ("slope",) . showValue <$> (args !? #slope :: Maybe Float),-               ("lower_bound",) . showValue <$>-                 (args !? #lower_bound :: Maybe Float),-               ("upper_bound",) . showValue <$>-                 (args !? #upper_bound :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LeakyReLU_upd ::-               forall args . Fullfilled "_LeakyReLU(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_LeakyReLU(ndarray)" args -> IO ()-_LeakyReLU_upd outputs args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["elu", "gelu", "leaky", "prelu", "rrelu", "selu"])),-               ("slope",) . showValue <$> (args !? #slope :: Maybe Float),-               ("lower_bound",) . showValue <$>-                 (args !? #lower_bound :: Maybe Float),-               ("upper_bound",) . showValue <$>-                 (args !? #upper_bound :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SwapAxis(ndarray)" =-     '[ '("dim1", AttrOpt Int), '("dim2", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle)]--_SwapAxis ::-          forall args . Fullfilled "_SwapAxis(ndarray)" args =>-            ArgsHMap "_SwapAxis(ndarray)" args -> IO [NDArrayHandle]-_SwapAxis args-  = let scalarArgs-          = catMaybes-              [("dim1",) . showValue <$> (args !? #dim1 :: Maybe Int),-               ("dim2",) . showValue <$> (args !? #dim2 :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SwapAxis_upd ::-              forall args . Fullfilled "_SwapAxis(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_SwapAxis(ndarray)" args -> IO ()-_SwapAxis_upd outputs args-  = let scalarArgs-          = catMaybes-              [("dim1",) . showValue <$> (args !? #dim1 :: Maybe Int),-               ("dim2",) . showValue <$> (args !? #dim2 :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_IdentityAttachKLSparseReg(ndarray)" =-     '[ '("sparseness_target", AttrOpt Float),-        '("penalty", AttrOpt Float), '("momentum", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle)]--_IdentityAttachKLSparseReg ::-                           forall args .-                             Fullfilled "_IdentityAttachKLSparseReg(ndarray)" args =>-                             ArgsHMap "_IdentityAttachKLSparseReg(ndarray)" args ->-                               IO [NDArrayHandle]-_IdentityAttachKLSparseReg args-  = let scalarArgs-          = catMaybes-              [("sparseness_target",) . showValue <$>-                 (args !? #sparseness_target :: Maybe Float),-               ("penalty",) . showValue <$> (args !? #penalty :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_IdentityAttachKLSparseReg_upd ::-                               forall args .-                                 Fullfilled "_IdentityAttachKLSparseReg(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_IdentityAttachKLSparseReg(ndarray)" args -> IO ()-_IdentityAttachKLSparseReg_upd outputs args-  = let scalarArgs-          = catMaybes-              [("sparseness_target",) . showValue <$>-                 (args !? #sparseness_target :: Maybe Float),-               ("penalty",) . showValue <$> (args !? #penalty :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SliceChannel(ndarray)" =-     '[ '("num_outputs", AttrReq Int), '("axis", AttrOpt Int),-        '("squeeze_axis", AttrOpt Bool), '("data", AttrOpt NDArrayHandle)]--_SliceChannel ::-              forall args . Fullfilled "_SliceChannel(ndarray)" args =>-                ArgsHMap "_SliceChannel(ndarray)" args -> IO [NDArrayHandle]-_SliceChannel args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SliceChannel_upd ::-                  forall args . Fullfilled "_SliceChannel(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_SliceChannel(ndarray)" args -> IO ()-_SliceChannel_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_RNN(ndarray)" =-     '[ '("state_size", AttrReq Int), '("num_layers", AttrReq Int),-        '("bidirectional", AttrOpt Bool),-        '("mode",-          AttrReq (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-        '("p", AttrOpt Float), '("state_outputs", AttrOpt Bool),-        '("projection_size", AttrOpt (Maybe Int)),-        '("lstm_state_clip_min", AttrOpt (Maybe Double)),-        '("lstm_state_clip_max", AttrOpt (Maybe Double)),-        '("lstm_state_clip_nan", AttrOpt Bool),-        '("use_sequence_length", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("parameters", AttrOpt NDArrayHandle),-        '("state", AttrOpt NDArrayHandle),-        '("state_cell", AttrOpt NDArrayHandle),-        '("sequence_length", AttrOpt NDArrayHandle)]--_RNN ::-     forall args . Fullfilled "_RNN(ndarray)" args =>-       ArgsHMap "_RNN(ndarray)" args -> IO [NDArrayHandle]-_RNN args-  = let scalarArgs-          = catMaybes-              [("state_size",) . showValue <$>-                 (args !? #state_size :: Maybe Int),-               ("num_layers",) . showValue <$> (args !? #num_layers :: Maybe Int),-               ("bidirectional",) . showValue <$>-                 (args !? #bidirectional :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("state_outputs",) . showValue <$>-                 (args !? #state_outputs :: Maybe Bool),-               ("projection_size",) . showValue <$>-                 (args !? #projection_size :: Maybe (Maybe Int)),-               ("lstm_state_clip_min",) . showValue <$>-                 (args !? #lstm_state_clip_min :: Maybe (Maybe Double)),-               ("lstm_state_clip_max",) . showValue <$>-                 (args !? #lstm_state_clip_max :: Maybe (Maybe Double)),-               ("lstm_state_clip_nan",) . showValue <$>-                 (args !? #lstm_state_clip_nan :: Maybe Bool),-               ("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("parameters",) <$> (args !? #parameters :: Maybe NDArrayHandle),-               ("state",) <$> (args !? #state :: Maybe NDArrayHandle),-               ("state_cell",) <$> (args !? #state_cell :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_RNN_upd ::-         forall args . Fullfilled "_RNN(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_RNN(ndarray)" args -> IO ()-_RNN_upd outputs args-  = let scalarArgs-          = catMaybes-              [("state_size",) . showValue <$>-                 (args !? #state_size :: Maybe Int),-               ("num_layers",) . showValue <$> (args !? #num_layers :: Maybe Int),-               ("bidirectional",) . showValue <$>-                 (args !? #bidirectional :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("state_outputs",) . showValue <$>-                 (args !? #state_outputs :: Maybe Bool),-               ("projection_size",) . showValue <$>-                 (args !? #projection_size :: Maybe (Maybe Int)),-               ("lstm_state_clip_min",) . showValue <$>-                 (args !? #lstm_state_clip_min :: Maybe (Maybe Double)),-               ("lstm_state_clip_max",) . showValue <$>-                 (args !? #lstm_state_clip_max :: Maybe (Maybe Double)),-               ("lstm_state_clip_nan",) . showValue <$>-                 (args !? #lstm_state_clip_nan :: Maybe Bool),-               ("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("parameters",) <$> (args !? #parameters :: Maybe NDArrayHandle),-               ("state",) <$> (args !? #state :: Maybe NDArrayHandle),-               ("state_cell",) <$> (args !? #state_cell :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_RNN(ndarray)" = '[]--_backward_RNN ::-              forall args . Fullfilled "_backward_RNN(ndarray)" args =>-                ArgsHMap "_backward_RNN(ndarray)" args -> IO [NDArrayHandle]-_backward_RNN args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_RNN_upd ::-                  forall args . Fullfilled "_backward_RNN(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_RNN(ndarray)" args -> IO ()-_backward_RNN_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_RNN"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Pad(ndarray)" =-     '[ '("mode", AttrReq (EnumType '["constant", "edge", "reflect"])),-        '("pad_width", AttrReq [Int]), '("constant_value", AttrOpt Double),-        '("data", AttrOpt NDArrayHandle)]--_Pad ::-     forall args . Fullfilled "_Pad(ndarray)" args =>-       ArgsHMap "_Pad(ndarray)" args -> IO [NDArrayHandle]-_Pad args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["constant", "edge", "reflect"])),-               ("pad_width",) . showValue <$> (args !? #pad_width :: Maybe [Int]),-               ("constant_value",) . showValue <$>-                 (args !? #constant_value :: Maybe Double)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Pad_upd ::-         forall args . Fullfilled "_Pad(ndarray)" args =>-           [NDArrayHandle] -> ArgsHMap "_Pad(ndarray)" args -> IO ()-_Pad_upd outputs args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["constant", "edge", "reflect"])),-               ("pad_width",) . showValue <$> (args !? #pad_width :: Maybe [Int]),-               ("constant_value",) . showValue <$>-                 (args !? #constant_value :: Maybe Double)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BatchNorm_v1(ndarray)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_BatchNorm_v1 ::-              forall args . Fullfilled "_BatchNorm_v1(ndarray)" args =>-                ArgsHMap "_BatchNorm_v1(ndarray)" args -> IO [NDArrayHandle]-_BatchNorm_v1 args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BatchNorm_v1_upd ::-                  forall args . Fullfilled "_BatchNorm_v1(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_BatchNorm_v1(ndarray)" args -> IO ()-_BatchNorm_v1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "signsgd_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle)]--signsgd_update ::-               forall args . Fullfilled "signsgd_update(ndarray)" args =>-                 ArgsHMap "signsgd_update(ndarray)" args -> IO [NDArrayHandle]-signsgd_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signsgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--signsgd_update_upd ::-                   forall args . Fullfilled "signsgd_update(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "signsgd_update(ndarray)" args -> IO ()-signsgd_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signsgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "signum_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("wd_lh", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mom", AttrOpt NDArrayHandle)]--signum_update ::-              forall args . Fullfilled "signum_update(ndarray)" args =>-                ArgsHMap "signum_update(ndarray)" args -> IO [NDArrayHandle]-signum_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("wd_lh",) . showValue <$> (args !? #wd_lh :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signum_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--signum_update_upd ::-                  forall args . Fullfilled "signum_update(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "signum_update(ndarray)" args -> IO ()-signum_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("wd_lh",) . showValue <$> (args !? #wd_lh :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signum_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "multi_sgd_update(ndarray)" =-     '[ '("lrs", AttrReq [Float]), '("wds", AttrReq [Float]),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--multi_sgd_update ::-                 forall args . Fullfilled "multi_sgd_update(ndarray)" args =>-                   ArgsHMap "multi_sgd_update(ndarray)" args -> IO [NDArrayHandle]-multi_sgd_update args-  = let scalarArgs-          = catMaybes-              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),-               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("num_weights",) . showValue <$>-                 (args !? #num_weights :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "multi_sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--multi_sgd_update_upd ::-                     forall args . Fullfilled "multi_sgd_update(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "multi_sgd_update(ndarray)" args -> IO ()-multi_sgd_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),-               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("num_weights",) . showValue <$>-                 (args !? #num_weights :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "multi_sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "multi_sgd_mom_update(ndarray)" =-     '[ '("lrs", AttrReq [Float]), '("wds", AttrReq [Float]),-        '("momentum", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--multi_sgd_mom_update ::-                     forall args . Fullfilled "multi_sgd_mom_update(ndarray)" args =>-                       ArgsHMap "multi_sgd_mom_update(ndarray)" args -> IO [NDArrayHandle]-multi_sgd_mom_update args-  = let scalarArgs-          = catMaybes-              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),-               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("num_weights",) . showValue <$>-                 (args !? #num_weights :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "multi_sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--multi_sgd_mom_update_upd ::-                         forall args . Fullfilled "multi_sgd_mom_update(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "multi_sgd_mom_update(ndarray)" args -> IO ()-multi_sgd_mom_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),-               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("num_weights",) . showValue <$>-                 (args !? #num_weights :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "multi_sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "multi_mp_sgd_update(ndarray)" =-     '[ '("lrs", AttrReq [Float]), '("wds", AttrReq [Float]),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--multi_mp_sgd_update ::-                    forall args . Fullfilled "multi_mp_sgd_update(ndarray)" args =>-                      ArgsHMap "multi_mp_sgd_update(ndarray)" args -> IO [NDArrayHandle]-multi_mp_sgd_update args-  = let scalarArgs-          = catMaybes-              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),-               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("num_weights",) . showValue <$>-                 (args !? #num_weights :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "multi_mp_sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--multi_mp_sgd_update_upd ::-                        forall args . Fullfilled "multi_mp_sgd_update(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "multi_mp_sgd_update(ndarray)" args -> IO ()-multi_mp_sgd_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),-               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("num_weights",) . showValue <$>-                 (args !? #num_weights :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "multi_mp_sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "multi_mp_sgd_mom_update(ndarray)" =-     '[ '("lrs", AttrReq [Float]), '("wds", AttrReq [Float]),-        '("momentum", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),-        '("data", AttrOpt [NDArrayHandle])]--multi_mp_sgd_mom_update ::-                        forall args . Fullfilled "multi_mp_sgd_mom_update(ndarray)" args =>-                          ArgsHMap "multi_mp_sgd_mom_update(ndarray)" args ->-                            IO [NDArrayHandle]-multi_mp_sgd_mom_update args-  = let scalarArgs-          = catMaybes-              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),-               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("num_weights",) . showValue <$>-                 (args !? #num_weights :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "multi_mp_sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--multi_mp_sgd_mom_update_upd ::-                            forall args . Fullfilled "multi_mp_sgd_mom_update(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "multi_mp_sgd_mom_update(ndarray)" args -> IO ()-multi_mp_sgd_mom_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),-               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("num_weights",) . showValue <$>-                 (args !? #num_weights :: Maybe Int)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "multi_mp_sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sgd_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle)]--sgd_update ::-           forall args . Fullfilled "sgd_update(ndarray)" args =>-             ArgsHMap "sgd_update(ndarray)" args -> IO [NDArrayHandle]-sgd_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sgd_update_upd ::-               forall args . Fullfilled "sgd_update(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "sgd_update(ndarray)" args -> IO ()-sgd_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "sgd_mom_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mom", AttrOpt NDArrayHandle)]--sgd_mom_update ::-               forall args . Fullfilled "sgd_mom_update(ndarray)" args =>-                 ArgsHMap "sgd_mom_update(ndarray)" args -> IO [NDArrayHandle]-sgd_mom_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--sgd_mom_update_upd ::-                   forall args . Fullfilled "sgd_mom_update(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "sgd_mom_update(ndarray)" args -> IO ()-sgd_mom_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "mp_sgd_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle),-        '("weight32", AttrOpt NDArrayHandle)]--mp_sgd_update ::-              forall args . Fullfilled "mp_sgd_update(ndarray)" args =>-                ArgsHMap "mp_sgd_update(ndarray)" args -> IO [NDArrayHandle]-mp_sgd_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--mp_sgd_update_upd ::-                  forall args . Fullfilled "mp_sgd_update(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "mp_sgd_update(ndarray)" args -> IO ()-mp_sgd_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "mp_sgd_mom_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mom", AttrOpt NDArrayHandle),-        '("weight32", AttrOpt NDArrayHandle)]--mp_sgd_mom_update ::-                  forall args . Fullfilled "mp_sgd_mom_update(ndarray)" args =>-                    ArgsHMap "mp_sgd_mom_update(ndarray)" args -> IO [NDArrayHandle]-mp_sgd_mom_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--mp_sgd_mom_update_upd ::-                      forall args . Fullfilled "mp_sgd_mom_update(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "mp_sgd_mom_update(ndarray)" args -> IO ()-mp_sgd_mom_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ftml_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Double),-        '("t", AttrReq Int), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float), '("clip_grad", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("d", AttrOpt NDArrayHandle),-        '("v", AttrOpt NDArrayHandle), '("z", AttrOpt NDArrayHandle)]--ftml_update ::-            forall args . Fullfilled "ftml_update(ndarray)" args =>-              ArgsHMap "ftml_update(ndarray)" args -> IO [NDArrayHandle]-ftml_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Double),-               ("t",) . showValue <$> (args !? #t :: Maybe Int),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_grad",) . showValue <$> (args !? #clip_grad :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("d",) <$> (args !? #d :: Maybe NDArrayHandle),-               ("v",) <$> (args !? #v :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftml_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ftml_update_upd ::-                forall args . Fullfilled "ftml_update(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "ftml_update(ndarray)" args -> IO ()-ftml_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Double),-               ("t",) . showValue <$> (args !? #t :: Maybe Int),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_grad",) . showValue <$> (args !? #clip_grad :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("d",) <$> (args !? #d :: Maybe NDArrayHandle),-               ("v",) <$> (args !? #v :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftml_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "adam_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mean", AttrOpt NDArrayHandle),-        '("var", AttrOpt NDArrayHandle)]--adam_update ::-            forall args . Fullfilled "adam_update(ndarray)" args =>-              ArgsHMap "adam_update(ndarray)" args -> IO [NDArrayHandle]-adam_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mean",) <$> (args !? #mean :: Maybe NDArrayHandle),-               ("var",) <$> (args !? #var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "adam_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--adam_update_upd ::-                forall args . Fullfilled "adam_update(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "adam_update(ndarray)" args -> IO ()-adam_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mean",) <$> (args !? #mean :: Maybe NDArrayHandle),-               ("var",) <$> (args !? #var :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "adam_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "nag_mom_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mom", AttrOpt NDArrayHandle)]--nag_mom_update ::-               forall args . Fullfilled "nag_mom_update(ndarray)" args =>-                 ArgsHMap "nag_mom_update(ndarray)" args -> IO [NDArrayHandle]-nag_mom_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nag_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--nag_mom_update_upd ::-                   forall args . Fullfilled "nag_mom_update(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "nag_mom_update(ndarray)" args -> IO ()-nag_mom_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nag_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "mp_nag_mom_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("mom", AttrOpt NDArrayHandle),-        '("weight32", AttrOpt NDArrayHandle)]--mp_nag_mom_update ::-                  forall args . Fullfilled "mp_nag_mom_update(ndarray)" args =>-                    ArgsHMap "mp_nag_mom_update(ndarray)" args -> IO [NDArrayHandle]-mp_nag_mom_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_nag_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--mp_nag_mom_update_upd ::-                      forall args . Fullfilled "mp_nag_mom_update(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "mp_nag_mom_update(ndarray)" args -> IO ()-mp_nag_mom_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("mom",) <$> (args !? #mom :: Maybe NDArrayHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_nag_mom_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rmsprop_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("epsilon", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("n", AttrOpt NDArrayHandle)]--rmsprop_update ::-               forall args . Fullfilled "rmsprop_update(ndarray)" args =>-                 ArgsHMap "rmsprop_update(ndarray)" args -> IO [NDArrayHandle]-rmsprop_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmsprop_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rmsprop_update_upd ::-                   forall args . Fullfilled "rmsprop_update(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "rmsprop_update(ndarray)" args -> IO ()-rmsprop_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmsprop_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "rmspropalex_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("gamma2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("n", AttrOpt NDArrayHandle),-        '("g", AttrOpt NDArrayHandle), '("delta", AttrOpt NDArrayHandle)]--rmspropalex_update ::-                   forall args . Fullfilled "rmspropalex_update(ndarray)" args =>-                     ArgsHMap "rmspropalex_update(ndarray)" args -> IO [NDArrayHandle]-rmspropalex_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("gamma2",) . showValue <$> (args !? #gamma2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle),-               ("g",) <$> (args !? #g :: Maybe NDArrayHandle),-               ("delta",) <$> (args !? #delta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmspropalex_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--rmspropalex_update_upd ::-                       forall args . Fullfilled "rmspropalex_update(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "rmspropalex_update(ndarray)" args -> IO ()-rmspropalex_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("gamma2",) . showValue <$> (args !? #gamma2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle),-               ("g",) <$> (args !? #g :: Maybe NDArrayHandle),-               ("delta",) <$> (args !? #delta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmspropalex_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "ftrl_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("lamda1", AttrOpt Float),-        '("beta", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle), '("z", AttrOpt NDArrayHandle),-        '("n", AttrOpt NDArrayHandle)]--ftrl_update ::-            forall args . Fullfilled "ftrl_update(ndarray)" args =>-              ArgsHMap "ftrl_update(ndarray)" args -> IO [NDArrayHandle]-ftrl_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("lamda1",) . showValue <$> (args !? #lamda1 :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftrl_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--ftrl_update_upd ::-                forall args . Fullfilled "ftrl_update(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "ftrl_update(ndarray)" args -> IO ()-ftrl_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("lamda1",) . showValue <$> (args !? #lamda1 :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("z",) <$> (args !? #z :: Maybe NDArrayHandle),-               ("n",) <$> (args !? #n :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftrl_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_sparse_adagrad_update(ndarray)" =-     '[ '("lr", AttrReq Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt NDArrayHandle),-        '("grad", AttrOpt NDArrayHandle),-        '("history", AttrOpt NDArrayHandle)]--_sparse_adagrad_update ::-                       forall args . Fullfilled "_sparse_adagrad_update(ndarray)" args =>-                         ArgsHMap "_sparse_adagrad_update(ndarray)" args ->-                           IO [NDArrayHandle]-_sparse_adagrad_update args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("history",) <$> (args !? #history :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_adagrad_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_sparse_adagrad_update_upd ::-                           forall args . Fullfilled "_sparse_adagrad_update(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_sparse_adagrad_update(ndarray)" args -> IO ()-_sparse_adagrad_update_upd outputs args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("grad",) <$> (args !? #grad :: Maybe NDArrayHandle),-               ("history",) <$> (args !? #history :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_adagrad_update"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LinearRegressionOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_LinearRegressionOutput ::-                        forall args . Fullfilled "_LinearRegressionOutput(ndarray)" args =>-                          ArgsHMap "_LinearRegressionOutput(ndarray)" args ->-                            IO [NDArrayHandle]-_LinearRegressionOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LinearRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LinearRegressionOutput_upd ::-                            forall args . Fullfilled "_LinearRegressionOutput(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_LinearRegressionOutput(ndarray)" args -> IO ()-_LinearRegressionOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LinearRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_linear_reg_out(ndarray)" =-     '[]--_backward_linear_reg_out ::-                         forall args .-                           Fullfilled "_backward_linear_reg_out(ndarray)" args =>-                           ArgsHMap "_backward_linear_reg_out(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_linear_reg_out args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linear_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_linear_reg_out_upd ::-                             forall args .-                               Fullfilled "_backward_linear_reg_out(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_linear_reg_out(ndarray)" args -> IO ()-_backward_linear_reg_out_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linear_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_MAERegressionOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_MAERegressionOutput ::-                     forall args . Fullfilled "_MAERegressionOutput(ndarray)" args =>-                       ArgsHMap "_MAERegressionOutput(ndarray)" args -> IO [NDArrayHandle]-_MAERegressionOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MAERegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_MAERegressionOutput_upd ::-                         forall args . Fullfilled "_MAERegressionOutput(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_MAERegressionOutput(ndarray)" args -> IO ()-_MAERegressionOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MAERegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_mae_reg_out(ndarray)" = '[]--_backward_mae_reg_out ::-                      forall args . Fullfilled "_backward_mae_reg_out(ndarray)" args =>-                        ArgsHMap "_backward_mae_reg_out(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_mae_reg_out args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mae_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_mae_reg_out_upd ::-                          forall args . Fullfilled "_backward_mae_reg_out(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_mae_reg_out(ndarray)" args -> IO ()-_backward_mae_reg_out_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mae_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_LogisticRegressionOutput(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_LogisticRegressionOutput ::-                          forall args .-                            Fullfilled "_LogisticRegressionOutput(ndarray)" args =>-                            ArgsHMap "_LogisticRegressionOutput(ndarray)" args ->-                              IO [NDArrayHandle]-_LogisticRegressionOutput args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LogisticRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_LogisticRegressionOutput_upd ::-                              forall args .-                                Fullfilled "_LogisticRegressionOutput(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_LogisticRegressionOutput(ndarray)" args -> IO ()-_LogisticRegressionOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LogisticRegressionOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_logistic_reg_out(ndarray)" =-     '[]--_backward_logistic_reg_out ::-                           forall args .-                             Fullfilled "_backward_logistic_reg_out(ndarray)" args =>-                             ArgsHMap "_backward_logistic_reg_out(ndarray)" args ->-                               IO [NDArrayHandle]-_backward_logistic_reg_out args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_logistic_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_logistic_reg_out_upd ::-                               forall args .-                                 Fullfilled "_backward_logistic_reg_out(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_backward_logistic_reg_out(ndarray)" args -> IO ()-_backward_logistic_reg_out_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_logistic_reg_out"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CustomFunction(ndarray)" = '[]--_CustomFunction ::-                forall args . Fullfilled "_CustomFunction(ndarray)" args =>-                  ArgsHMap "_CustomFunction(ndarray)" args -> IO [NDArrayHandle]-_CustomFunction args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CustomFunction_upd ::-                    forall args . Fullfilled "_CustomFunction(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_CustomFunction(ndarray)" args -> IO ()-_CustomFunction_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_CustomFunction(ndarray)" =-     '[]--_backward_CustomFunction ::-                         forall args .-                           Fullfilled "_backward_CustomFunction(ndarray)" args =>-                           ArgsHMap "_backward_CustomFunction(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_CustomFunction args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_CustomFunction_upd ::-                             forall args .-                               Fullfilled "_backward_CustomFunction(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_CustomFunction(ndarray)" args -> IO ()-_backward_CustomFunction_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CustomFunction"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__Native(ndarray)" = '[]--_backward__Native ::-                  forall args . Fullfilled "_backward__Native(ndarray)" args =>-                    ArgsHMap "_backward__Native(ndarray)" args -> IO [NDArrayHandle]-_backward__Native args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__Native"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__Native_upd ::-                      forall args . Fullfilled "_backward__Native(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_backward__Native(ndarray)" args -> IO ()-_backward__Native_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__Native"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__NDArray(ndarray)" = '[]--_backward__NDArray ::-                   forall args . Fullfilled "_backward__NDArray(ndarray)" args =>-                     ArgsHMap "_backward__NDArray(ndarray)" args -> IO [NDArrayHandle]-_backward__NDArray args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__NDArray"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__NDArray_upd ::-                       forall args . Fullfilled "_backward__NDArray(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward__NDArray(ndarray)" args -> IO ()-_backward__NDArray_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__NDArray"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiBoxTarget(ndarray)" =-     '[ '("overlap_threshold", AttrOpt Float),-        '("ignore_label", AttrOpt Float),-        '("negative_mining_ratio", AttrOpt Float),-        '("negative_mining_thresh", AttrOpt Float),-        '("minimum_negative_samples", AttrOpt Int),-        '("variances", AttrOpt [Float]),-        '("anchor", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle),-        '("cls_pred", AttrOpt NDArrayHandle)]--_contrib_MultiBoxTarget ::-                        forall args . Fullfilled "_contrib_MultiBoxTarget(ndarray)" args =>-                          ArgsHMap "_contrib_MultiBoxTarget(ndarray)" args ->-                            IO [NDArrayHandle]-_contrib_MultiBoxTarget args-  = let scalarArgs-          = catMaybes-              [("overlap_threshold",) . showValue <$>-                 (args !? #overlap_threshold :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("negative_mining_ratio",) . showValue <$>-                 (args !? #negative_mining_ratio :: Maybe Float),-               ("negative_mining_thresh",) . showValue <$>-                 (args !? #negative_mining_thresh :: Maybe Float),-               ("minimum_negative_samples",) . showValue <$>-                 (args !? #minimum_negative_samples :: Maybe Int),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float])]-        tensorArgs-          = catMaybes-              [("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("cls_pred",) <$> (args !? #cls_pred :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiBoxTarget_upd ::-                            forall args . Fullfilled "_contrib_MultiBoxTarget(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_contrib_MultiBoxTarget(ndarray)" args -> IO ()-_contrib_MultiBoxTarget_upd outputs args-  = let scalarArgs-          = catMaybes-              [("overlap_threshold",) . showValue <$>-                 (args !? #overlap_threshold :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("negative_mining_ratio",) . showValue <$>-                 (args !? #negative_mining_ratio :: Maybe Float),-               ("negative_mining_thresh",) . showValue <$>-                 (args !? #negative_mining_thresh :: Maybe Float),-               ("minimum_negative_samples",) . showValue <$>-                 (args !? #minimum_negative_samples :: Maybe Int),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float])]-        tensorArgs-          = catMaybes-              [("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle),-               ("cls_pred",) <$> (args !? #cls_pred :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiBoxTarget(ndarray)" = '[]--_backward__contrib_MultiBoxTarget ::-                                  forall args .-                                    Fullfilled "_backward__contrib_MultiBoxTarget(ndarray)" args =>-                                    ArgsHMap "_backward__contrib_MultiBoxTarget(ndarray)" args ->-                                      IO [NDArrayHandle]-_backward__contrib_MultiBoxTarget args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiBoxTarget_upd ::-                                      forall args .-                                        Fullfilled "_backward__contrib_MultiBoxTarget(ndarray)"-                                          args =>-                                        [NDArrayHandle] ->-                                          ArgsHMap "_backward__contrib_MultiBoxTarget(ndarray)" args-                                            -> IO ()-_backward__contrib_MultiBoxTarget_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxTarget"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_Proposal(ndarray)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt NDArrayHandle),-        '("bbox_pred", AttrOpt NDArrayHandle),-        '("im_info", AttrOpt NDArrayHandle)]--_contrib_Proposal ::-                  forall args . Fullfilled "_contrib_Proposal(ndarray)" args =>-                    ArgsHMap "_contrib_Proposal(ndarray)" args -> IO [NDArrayHandle]-_contrib_Proposal args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_Proposal_upd ::-                      forall args . Fullfilled "_contrib_Proposal(ndarray)" args =>-                        [NDArrayHandle] ->-                          ArgsHMap "_contrib_Proposal(ndarray)" args -> IO ()-_contrib_Proposal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_Proposal(ndarray)"-     = '[]--_backward__contrib_Proposal ::-                            forall args .-                              Fullfilled "_backward__contrib_Proposal(ndarray)" args =>-                              ArgsHMap "_backward__contrib_Proposal(ndarray)" args ->-                                IO [NDArrayHandle]-_backward__contrib_Proposal args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_Proposal_upd ::-                                forall args .-                                  Fullfilled "_backward__contrib_Proposal(ndarray)" args =>-                                  [NDArrayHandle] ->-                                    ArgsHMap "_backward__contrib_Proposal(ndarray)" args -> IO ()-_backward__contrib_Proposal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_Proposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_count_sketch(ndarray)" =-     '[ '("out_dim", AttrReq Int),-        '("processing_batch_size", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle), '("h", AttrOpt NDArrayHandle),-        '("s", AttrOpt NDArrayHandle)]--_contrib_count_sketch ::-                      forall args . Fullfilled "_contrib_count_sketch(ndarray)" args =>-                        ArgsHMap "_contrib_count_sketch(ndarray)" args ->-                          IO [NDArrayHandle]-_contrib_count_sketch args-  = let scalarArgs-          = catMaybes-              [("out_dim",) . showValue <$> (args !? #out_dim :: Maybe Int),-               ("processing_batch_size",) . showValue <$>-                 (args !? #processing_batch_size :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("h",) <$> (args !? #h :: Maybe NDArrayHandle),-               ("s",) <$> (args !? #s :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_count_sketch_upd ::-                          forall args . Fullfilled "_contrib_count_sketch(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_contrib_count_sketch(ndarray)" args -> IO ()-_contrib_count_sketch_upd outputs args-  = let scalarArgs-          = catMaybes-              [("out_dim",) . showValue <$> (args !? #out_dim :: Maybe Int),-               ("processing_batch_size",) . showValue <$>-                 (args !? #processing_batch_size :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("h",) <$> (args !? #h :: Maybe NDArrayHandle),-               ("s",) <$> (args !? #s :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_count_sketch(ndarray)" = '[]--_backward__contrib_count_sketch ::-                                forall args .-                                  Fullfilled "_backward__contrib_count_sketch(ndarray)" args =>-                                  ArgsHMap "_backward__contrib_count_sketch(ndarray)" args ->-                                    IO [NDArrayHandle]-_backward__contrib_count_sketch args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_count_sketch_upd ::-                                    forall args .-                                      Fullfilled "_backward__contrib_count_sketch(ndarray)" args =>-                                      [NDArrayHandle] ->-                                        ArgsHMap "_backward__contrib_count_sketch(ndarray)" args ->-                                          IO ()-_backward__contrib_count_sketch_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_count_sketch"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiBoxDetection(ndarray)" =-     '[ '("clip", AttrOpt Bool), '("threshold", AttrOpt Float),-        '("background_id", AttrOpt Int), '("nms_threshold", AttrOpt Float),-        '("force_suppress", AttrOpt Bool), '("variances", AttrOpt [Float]),-        '("nms_topk", AttrOpt Int), '("cls_prob", AttrOpt NDArrayHandle),-        '("loc_pred", AttrOpt NDArrayHandle),-        '("anchor", AttrOpt NDArrayHandle)]--_contrib_MultiBoxDetection ::-                           forall args .-                             Fullfilled "_contrib_MultiBoxDetection(ndarray)" args =>-                             ArgsHMap "_contrib_MultiBoxDetection(ndarray)" args ->-                               IO [NDArrayHandle]-_contrib_MultiBoxDetection args-  = let scalarArgs-          = catMaybes-              [("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("nms_threshold",) . showValue <$>-                 (args !? #nms_threshold :: Maybe Float),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float]),-               ("nms_topk",) . showValue <$> (args !? #nms_topk :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("loc_pred",) <$> (args !? #loc_pred :: Maybe NDArrayHandle),-               ("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiBoxDetection_upd ::-                               forall args .-                                 Fullfilled "_contrib_MultiBoxDetection(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_contrib_MultiBoxDetection(ndarray)" args -> IO ()-_contrib_MultiBoxDetection_upd outputs args-  = let scalarArgs-          = catMaybes-              [("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("nms_threshold",) . showValue <$>-                 (args !? #nms_threshold :: Maybe Float),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float]),-               ("nms_topk",) . showValue <$> (args !? #nms_topk :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("loc_pred",) <$> (args !? #loc_pred :: Maybe NDArrayHandle),-               ("anchor",) <$> (args !? #anchor :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiBoxDetection(ndarray)" = '[]--_backward__contrib_MultiBoxDetection ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiBoxDetection(ndarray)"-                                         args =>-                                       ArgsHMap "_backward__contrib_MultiBoxDetection(ndarray)" args-                                         -> IO [NDArrayHandle]-_backward__contrib_MultiBoxDetection args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiBoxDetection_upd ::-                                         forall args .-                                           Fullfilled-                                             "_backward__contrib_MultiBoxDetection(ndarray)" args =>-                                           [NDArrayHandle] ->-                                             ArgsHMap-                                               "_backward__contrib_MultiBoxDetection(ndarray)"-                                               args-                                               -> IO ()-_backward__contrib_MultiBoxDetection_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxDetection"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_DeformablePSROIPooling(ndarray)"-     = '[]--_backward__contrib_DeformablePSROIPooling ::-                                          forall args .-                                            Fullfilled-                                              "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                              args =>-                                            ArgsHMap-                                              "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                              args-                                              -> IO [NDArrayHandle]-_backward__contrib_DeformablePSROIPooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformablePSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_DeformablePSROIPooling_upd ::-                                              forall args .-                                                Fullfilled-                                                  "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                                  args =>-                                                [NDArrayHandle] ->-                                                  ArgsHMap-                                                    "_backward__contrib_DeformablePSROIPooling(ndarray)"-                                                    args-                                                    -> IO ()-_backward__contrib_DeformablePSROIPooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformablePSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_fft(ndarray)" =-     '[ '("compute_size", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle)]--_contrib_fft ::-             forall args . Fullfilled "_contrib_fft(ndarray)" args =>-               ArgsHMap "_contrib_fft(ndarray)" args -> IO [NDArrayHandle]-_contrib_fft args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_fft_upd ::-                 forall args . Fullfilled "_contrib_fft(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_contrib_fft(ndarray)" args -> IO ()-_contrib_fft_upd outputs args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_fft(ndarray)" = '[]--_backward__contrib_fft ::-                       forall args . Fullfilled "_backward__contrib_fft(ndarray)" args =>-                         ArgsHMap "_backward__contrib_fft(ndarray)" args ->-                           IO [NDArrayHandle]-_backward__contrib_fft args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_fft_upd ::-                           forall args . Fullfilled "_backward__contrib_fft(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward__contrib_fft(ndarray)" args -> IO ()-_backward__contrib_fft_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_fft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiBoxPrior(ndarray)" =-     '[ '("sizes", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("clip", AttrOpt Bool), '("steps", AttrOpt [Float]),-        '("offsets", AttrOpt [Float]), '("data", AttrOpt NDArrayHandle)]--_contrib_MultiBoxPrior ::-                       forall args . Fullfilled "_contrib_MultiBoxPrior(ndarray)" args =>-                         ArgsHMap "_contrib_MultiBoxPrior(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_MultiBoxPrior args-  = let scalarArgs-          = catMaybes-              [("sizes",) . showValue <$> (args !? #sizes :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("steps",) . showValue <$> (args !? #steps :: Maybe [Float]),-               ("offsets",) . showValue <$> (args !? #offsets :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiBoxPrior_upd ::-                           forall args . Fullfilled "_contrib_MultiBoxPrior(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_MultiBoxPrior(ndarray)" args -> IO ()-_contrib_MultiBoxPrior_upd outputs args-  = let scalarArgs-          = catMaybes-              [("sizes",) . showValue <$> (args !? #sizes :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("steps",) . showValue <$> (args !? #steps :: Maybe [Float]),-               ("offsets",) . showValue <$> (args !? #offsets :: Maybe [Float])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiBoxPrior(ndarray)" = '[]--_backward__contrib_MultiBoxPrior ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiBoxPrior(ndarray)" args =>-                                   ArgsHMap "_backward__contrib_MultiBoxPrior(ndarray)" args ->-                                     IO [NDArrayHandle]-_backward__contrib_MultiBoxPrior args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiBoxPrior_upd ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiBoxPrior(ndarray)"-                                         args =>-                                       [NDArrayHandle] ->-                                         ArgsHMap "_backward__contrib_MultiBoxPrior(ndarray)" args-                                           -> IO ()-_backward__contrib_MultiBoxPrior_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxPrior"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_MultiProposal(ndarray)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt NDArrayHandle),-        '("bbox_pred", AttrOpt NDArrayHandle),-        '("im_info", AttrOpt NDArrayHandle)]--_contrib_MultiProposal ::-                       forall args . Fullfilled "_contrib_MultiProposal(ndarray)" args =>-                         ArgsHMap "_contrib_MultiProposal(ndarray)" args ->-                           IO [NDArrayHandle]-_contrib_MultiProposal args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_MultiProposal_upd ::-                           forall args . Fullfilled "_contrib_MultiProposal(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_contrib_MultiProposal(ndarray)" args -> IO ()-_contrib_MultiProposal_upd outputs args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe NDArrayHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe NDArrayHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_MultiProposal(ndarray)" = '[]--_backward__contrib_MultiProposal ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiProposal(ndarray)" args =>-                                   ArgsHMap "_backward__contrib_MultiProposal(ndarray)" args ->-                                     IO [NDArrayHandle]-_backward__contrib_MultiProposal args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_MultiProposal_upd ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiProposal(ndarray)"-                                         args =>-                                       [NDArrayHandle] ->-                                         ArgsHMap "_backward__contrib_MultiProposal(ndarray)" args-                                           -> IO ()-_backward__contrib_MultiProposal_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiProposal"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_PSROIPooling(ndarray)" = '[]--_backward__contrib_PSROIPooling ::-                                forall args .-                                  Fullfilled "_backward__contrib_PSROIPooling(ndarray)" args =>-                                  ArgsHMap "_backward__contrib_PSROIPooling(ndarray)" args ->-                                    IO [NDArrayHandle]-_backward__contrib_PSROIPooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_PSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_PSROIPooling_upd ::-                                    forall args .-                                      Fullfilled "_backward__contrib_PSROIPooling(ndarray)" args =>-                                      [NDArrayHandle] ->-                                        ArgsHMap "_backward__contrib_PSROIPooling(ndarray)" args ->-                                          IO ()-_backward__contrib_PSROIPooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_PSROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_contrib_DeformableConvolution(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("num_deformable_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("layout", AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NCW"]))),-        '("data", AttrOpt NDArrayHandle),-        '("offset", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_contrib_DeformableConvolution ::-                               forall args .-                                 Fullfilled "_contrib_DeformableConvolution(ndarray)" args =>-                                 ArgsHMap "_contrib_DeformableConvolution(ndarray)" args ->-                                   IO [NDArrayHandle]-_contrib_DeformableConvolution args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("num_deformable_group",) . showValue <$>-                 (args !? #num_deformable_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NCW"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("offset",) <$> (args !? #offset :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_DeformableConvolution_upd ::-                                   forall args .-                                     Fullfilled "_contrib_DeformableConvolution(ndarray)" args =>-                                     [NDArrayHandle] ->-                                       ArgsHMap "_contrib_DeformableConvolution(ndarray)" args ->-                                         IO ()-_contrib_DeformableConvolution_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("num_deformable_group",) . showValue <$>-                 (args !? #num_deformable_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NCW"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("offset",) <$> (args !? #offset :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_DeformableConvolution(ndarray)" =-     '[]--_backward__contrib_DeformableConvolution ::-                                         forall args .-                                           Fullfilled-                                             "_backward__contrib_DeformableConvolution(ndarray)"-                                             args =>-                                           ArgsHMap-                                             "_backward__contrib_DeformableConvolution(ndarray)"-                                             args-                                             -> IO [NDArrayHandle]-_backward__contrib_DeformableConvolution args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_DeformableConvolution_upd ::-                                             forall args .-                                               Fullfilled-                                                 "_backward__contrib_DeformableConvolution(ndarray)"-                                                 args =>-                                               [NDArrayHandle] ->-                                                 ArgsHMap-                                                   "_backward__contrib_DeformableConvolution(ndarray)"-                                                   args-                                                   -> IO ()-_backward__contrib_DeformableConvolution_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformableConvolution"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_contrib_ifft(ndarray)" =-     '[ '("compute_size", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle)]--_contrib_ifft ::-              forall args . Fullfilled "_contrib_ifft(ndarray)" args =>-                ArgsHMap "_contrib_ifft(ndarray)" args -> IO [NDArrayHandle]-_contrib_ifft args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_contrib_ifft_upd ::-                  forall args . Fullfilled "_contrib_ifft(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_contrib_ifft(ndarray)" args -> IO ()-_contrib_ifft_upd outputs args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__contrib_ifft(ndarray)" =-     '[]--_backward__contrib_ifft ::-                        forall args . Fullfilled "_backward__contrib_ifft(ndarray)" args =>-                          ArgsHMap "_backward__contrib_ifft(ndarray)" args ->-                            IO [NDArrayHandle]-_backward__contrib_ifft args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_ifft_upd ::-                            forall args . Fullfilled "_backward__contrib_ifft(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward__contrib_ifft(ndarray)" args -> IO ()-_backward__contrib_ifft_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_ifft"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward__contrib_SyncBatchNorm(ndarray)" = '[]--_backward__contrib_SyncBatchNorm ::-                                 forall args .-                                   Fullfilled "_backward__contrib_SyncBatchNorm(ndarray)" args =>-                                   ArgsHMap "_backward__contrib_SyncBatchNorm(ndarray)" args ->-                                     IO [NDArrayHandle]-_backward__contrib_SyncBatchNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_SyncBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__contrib_SyncBatchNorm_upd ::-                                     forall args .-                                       Fullfilled "_backward__contrib_SyncBatchNorm(ndarray)"-                                         args =>-                                       [NDArrayHandle] ->-                                         ArgsHMap "_backward__contrib_SyncBatchNorm(ndarray)" args-                                           -> IO ()-_backward__contrib_SyncBatchNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_SyncBatchNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_InstanceNorm(ndarray)" =-     '[ '("eps", AttrOpt Float), '("data", AttrOpt NDArrayHandle),-        '("gamma", AttrOpt NDArrayHandle),-        '("beta", AttrOpt NDArrayHandle)]--_InstanceNorm ::-              forall args . Fullfilled "_InstanceNorm(ndarray)" args =>-                ArgsHMap "_InstanceNorm(ndarray)" args -> IO [NDArrayHandle]-_InstanceNorm args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_InstanceNorm_upd ::-                  forall args . Fullfilled "_InstanceNorm(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_InstanceNorm(ndarray)" args -> IO ()-_InstanceNorm_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe NDArrayHandle),-               ("beta",) <$> (args !? #beta :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_InstanceNorm(ndarray)" = '[]--_backward_InstanceNorm ::-                       forall args . Fullfilled "_backward_InstanceNorm(ndarray)" args =>-                         ArgsHMap "_backward_InstanceNorm(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_InstanceNorm args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_InstanceNorm_upd ::-                           forall args . Fullfilled "_backward_InstanceNorm(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_InstanceNorm(ndarray)" args -> IO ()-_backward_InstanceNorm_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_InstanceNorm"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SVMOutput(ndarray)" =-     '[ '("margin", AttrOpt Float),-        '("regularization_coefficient", AttrOpt Float),-        '("use_linear", AttrOpt Bool), '("data", AttrOpt NDArrayHandle),-        '("label", AttrOpt NDArrayHandle)]--_SVMOutput ::-           forall args . Fullfilled "_SVMOutput(ndarray)" args =>-             ArgsHMap "_SVMOutput(ndarray)" args -> IO [NDArrayHandle]-_SVMOutput args-  = let scalarArgs-          = catMaybes-              [("margin",) . showValue <$> (args !? #margin :: Maybe Float),-               ("regularization_coefficient",) . showValue <$>-                 (args !? #regularization_coefficient :: Maybe Float),-               ("use_linear",) . showValue <$>-                 (args !? #use_linear :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SVMOutput_upd ::-               forall args . Fullfilled "_SVMOutput(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_SVMOutput(ndarray)" args -> IO ()-_SVMOutput_upd outputs args-  = let scalarArgs-          = catMaybes-              [("margin",) . showValue <$> (args !? #margin :: Maybe Float),-               ("regularization_coefficient",) . showValue <$>-                 (args !? #regularization_coefficient :: Maybe Float),-               ("use_linear",) . showValue <$>-                 (args !? #use_linear :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("label",) <$> (args !? #label :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SVMOutput(ndarray)" = '[]--_backward_SVMOutput ::-                    forall args . Fullfilled "_backward_SVMOutput(ndarray)" args =>-                      ArgsHMap "_backward_SVMOutput(ndarray)" args -> IO [NDArrayHandle]-_backward_SVMOutput args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SVMOutput_upd ::-                        forall args . Fullfilled "_backward_SVMOutput(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_SVMOutput(ndarray)" args -> IO ()-_backward_SVMOutput_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SVMOutput"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_GridGenerator(ndarray)" =-     '[ '("transform_type", AttrReq (EnumType '["affine", "warp"])),-        '("target_shape", AttrOpt [Int]), '("data", AttrOpt NDArrayHandle)]--_GridGenerator ::-               forall args . Fullfilled "_GridGenerator(ndarray)" args =>-                 ArgsHMap "_GridGenerator(ndarray)" args -> IO [NDArrayHandle]-_GridGenerator args-  = let scalarArgs-          = catMaybes-              [("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine", "warp"])),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_GridGenerator_upd ::-                   forall args . Fullfilled "_GridGenerator(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_GridGenerator(ndarray)" args -> IO ()-_GridGenerator_upd outputs args-  = let scalarArgs-          = catMaybes-              [("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine", "warp"])),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_GridGenerator(ndarray)" =-     '[]--_backward_GridGenerator ::-                        forall args . Fullfilled "_backward_GridGenerator(ndarray)" args =>-                          ArgsHMap "_backward_GridGenerator(ndarray)" args ->-                            IO [NDArrayHandle]-_backward_GridGenerator args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_GridGenerator_upd ::-                            forall args . Fullfilled "_backward_GridGenerator(ndarray)" args =>-                              [NDArrayHandle] ->-                                ArgsHMap "_backward_GridGenerator(ndarray)" args -> IO ()-_backward_GridGenerator_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_GridGenerator"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Convolution_v1(ndarray)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt NDArrayHandle),-        '("weight", AttrOpt NDArrayHandle),-        '("bias", AttrOpt NDArrayHandle)]--_Convolution_v1 ::-                forall args . Fullfilled "_Convolution_v1(ndarray)" args =>-                  ArgsHMap "_Convolution_v1(ndarray)" args -> IO [NDArrayHandle]-_Convolution_v1 args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Convolution_v1_upd ::-                    forall args . Fullfilled "_Convolution_v1(ndarray)" args =>-                      [NDArrayHandle] ->-                        ArgsHMap "_Convolution_v1(ndarray)" args -> IO ()-_Convolution_v1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"])))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("weight",) <$> (args !? #weight :: Maybe NDArrayHandle),-               ("bias",) <$> (args !? #bias :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Convolution_v1(ndarray)" =-     '[]--_backward_Convolution_v1 ::-                         forall args .-                           Fullfilled "_backward_Convolution_v1(ndarray)" args =>-                           ArgsHMap "_backward_Convolution_v1(ndarray)" args ->-                             IO [NDArrayHandle]-_backward_Convolution_v1 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Convolution_v1_upd ::-                             forall args .-                               Fullfilled "_backward_Convolution_v1(ndarray)" args =>-                               [NDArrayHandle] ->-                                 ArgsHMap "_backward_Convolution_v1(ndarray)" args -> IO ()-_backward_Convolution_v1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SequenceReverse(ndarray)" =-     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle),-        '("sequence_length", AttrOpt NDArrayHandle)]--_SequenceReverse ::-                 forall args . Fullfilled "_SequenceReverse(ndarray)" args =>-                   ArgsHMap "_SequenceReverse(ndarray)" args -> IO [NDArrayHandle]-_SequenceReverse args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SequenceReverse_upd ::-                     forall args . Fullfilled "_SequenceReverse(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_SequenceReverse(ndarray)" args -> IO ()-_SequenceReverse_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SequenceReverse(ndarray)" =-     '[]--_backward_SequenceReverse ::-                          forall args .-                            Fullfilled "_backward_SequenceReverse(ndarray)" args =>-                            ArgsHMap "_backward_SequenceReverse(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_SequenceReverse args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SequenceReverse_upd ::-                              forall args .-                                Fullfilled "_backward_SequenceReverse(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_SequenceReverse(ndarray)" args -> IO ()-_backward_SequenceReverse_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceReverse"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_BilinearSampler(ndarray)" =-     '[ '("cudnn_off", AttrOpt (Maybe Bool)),-        '("data", AttrOpt NDArrayHandle), '("grid", AttrOpt NDArrayHandle)]--_BilinearSampler ::-                 forall args . Fullfilled "_BilinearSampler(ndarray)" args =>-                   ArgsHMap "_BilinearSampler(ndarray)" args -> IO [NDArrayHandle]-_BilinearSampler args-  = let scalarArgs-          = catMaybes-              [("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("grid",) <$> (args !? #grid :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_BilinearSampler_upd ::-                     forall args . Fullfilled "_BilinearSampler(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_BilinearSampler(ndarray)" args -> IO ()-_BilinearSampler_upd outputs args-  = let scalarArgs-          = catMaybes-              [("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("grid",) <$> (args !? #grid :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_BilinearSampler(ndarray)" =-     '[]--_backward_BilinearSampler ::-                          forall args .-                            Fullfilled "_backward_BilinearSampler(ndarray)" args =>-                            ArgsHMap "_backward_BilinearSampler(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_BilinearSampler args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_BilinearSampler_upd ::-                              forall args .-                                Fullfilled "_backward_BilinearSampler(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_BilinearSampler(ndarray)" args -> IO ()-_backward_BilinearSampler_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BilinearSampler"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_LeakyReLU(ndarray)" = '[]--_backward_LeakyReLU ::-                    forall args . Fullfilled "_backward_LeakyReLU(ndarray)" args =>-                      ArgsHMap "_backward_LeakyReLU(ndarray)" args -> IO [NDArrayHandle]-_backward_LeakyReLU args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_LeakyReLU_upd ::-                        forall args . Fullfilled "_backward_LeakyReLU(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_backward_LeakyReLU(ndarray)" args -> IO ()-_backward_LeakyReLU_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LeakyReLU"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Crop(ndarray)" =-     '[ '("num_args", AttrReq Int), '("offset", AttrOpt [Int]),-        '("h_w", AttrOpt [Int]), '("center_crop", AttrOpt Bool),-        '("data", AttrOpt [NDArrayHandle])]--_Crop ::-      forall args . Fullfilled "_Crop(ndarray)" args =>-        ArgsHMap "_Crop(ndarray)" args -> IO [NDArrayHandle]-_Crop args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("offset",) . showValue <$> (args !? #offset :: Maybe [Int]),-               ("h_w",) . showValue <$> (args !? #h_w :: Maybe [Int]),-               ("center_crop",) . showValue <$>-                 (args !? #center_crop :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Crop"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        Nothing-         return listndarr--_Crop_upd ::-          forall args . Fullfilled "_Crop(ndarray)" args =>-            [NDArrayHandle] -> ArgsHMap "_Crop(ndarray)" args -> IO ()-_Crop_upd outputs args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("offset",) . showValue <$> (args !? #offset :: Maybe [Int]),-               ("h_w",) . showValue <$> (args !? #h_w :: Maybe [Int]),-               ("center_crop",) . showValue <$>-                 (args !? #center_crop :: Maybe Bool)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [NDArrayHandle])-      in-      do op <- nnGetOpHandle "Crop"-         let scalarArgs'-               = if hasKey args #num_args then scalarArgs else-                   (,) "num_args" (showValue (length array)) : scalarArgs-         listndarr <- mxImperativeInvoke (fromOpHandle op) array scalarArgs'-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Crop(ndarray)" = '[]--_backward_Crop ::-               forall args . Fullfilled "_backward_Crop(ndarray)" args =>-                 ArgsHMap "_backward_Crop(ndarray)" args -> IO [NDArrayHandle]-_backward_Crop args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Crop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Crop_upd ::-                   forall args . Fullfilled "_backward_Crop(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_backward_Crop(ndarray)" args -> IO ()-_backward_Crop_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Crop"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_ROIPooling(ndarray)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float),-        '("data", AttrOpt NDArrayHandle), '("rois", AttrOpt NDArrayHandle)]--_ROIPooling ::-            forall args . Fullfilled "_ROIPooling(ndarray)" args =>-              ArgsHMap "_ROIPooling(ndarray)" args -> IO [NDArrayHandle]-_ROIPooling args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_ROIPooling_upd ::-                forall args . Fullfilled "_ROIPooling(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_ROIPooling(ndarray)" args -> IO ()-_ROIPooling_upd outputs args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("rois",) <$> (args !? #rois :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_ROIPooling(ndarray)" = '[]--_backward_ROIPooling ::-                     forall args . Fullfilled "_backward_ROIPooling(ndarray)" args =>-                       ArgsHMap "_backward_ROIPooling(ndarray)" args -> IO [NDArrayHandle]-_backward_ROIPooling args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_ROIPooling_upd ::-                         forall args . Fullfilled "_backward_ROIPooling(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_ROIPooling(ndarray)" args -> IO ()-_backward_ROIPooling_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIPooling"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SequenceLast(ndarray)" =-     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle),-        '("sequence_length", AttrOpt NDArrayHandle)]--_SequenceLast ::-              forall args . Fullfilled "_SequenceLast(ndarray)" args =>-                ArgsHMap "_SequenceLast(ndarray)" args -> IO [NDArrayHandle]-_SequenceLast args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SequenceLast_upd ::-                  forall args . Fullfilled "_SequenceLast(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_SequenceLast(ndarray)" args -> IO ()-_SequenceLast_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SequenceLast(ndarray)" = '[]--_backward_SequenceLast ::-                       forall args . Fullfilled "_backward_SequenceLast(ndarray)" args =>-                         ArgsHMap "_backward_SequenceLast(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_SequenceLast args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SequenceLast_upd ::-                           forall args . Fullfilled "_backward_SequenceLast(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_SequenceLast(ndarray)" args -> IO ()-_backward_SequenceLast_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceLast"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_CrossDeviceCopy(ndarray)" = '[]--_CrossDeviceCopy ::-                 forall args . Fullfilled "_CrossDeviceCopy(ndarray)" args =>-                   ArgsHMap "_CrossDeviceCopy(ndarray)" args -> IO [NDArrayHandle]-_CrossDeviceCopy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_CrossDeviceCopy_upd ::-                     forall args . Fullfilled "_CrossDeviceCopy(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_CrossDeviceCopy(ndarray)" args -> IO ()-_CrossDeviceCopy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward__CrossDeviceCopy(ndarray)" =-     '[]--_backward__CrossDeviceCopy ::-                           forall args .-                             Fullfilled "_backward__CrossDeviceCopy(ndarray)" args =>-                             ArgsHMap "_backward__CrossDeviceCopy(ndarray)" args ->-                               IO [NDArrayHandle]-_backward__CrossDeviceCopy args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward__CrossDeviceCopy_upd ::-                               forall args .-                                 Fullfilled "_backward__CrossDeviceCopy(ndarray)" args =>-                                 [NDArrayHandle] ->-                                   ArgsHMap "_backward__CrossDeviceCopy(ndarray)" args -> IO ()-_backward__CrossDeviceCopy_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__CrossDeviceCopy"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SpatialTransformer(ndarray)" =-     '[ '("target_shape", AttrOpt [Int]),-        '("transform_type", AttrReq (EnumType '["affine"])),-        '("sampler_type", AttrReq (EnumType '["bilinear"])),-        '("cudnn_off", AttrOpt (Maybe Bool)),-        '("data", AttrOpt NDArrayHandle), '("loc", AttrOpt NDArrayHandle)]--_SpatialTransformer ::-                    forall args . Fullfilled "_SpatialTransformer(ndarray)" args =>-                      ArgsHMap "_SpatialTransformer(ndarray)" args -> IO [NDArrayHandle]-_SpatialTransformer args-  = let scalarArgs-          = catMaybes-              [("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine"])),-               ("sampler_type",) . showValue <$>-                 (args !? #sampler_type :: Maybe (EnumType '["bilinear"])),-               ("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("loc",) <$> (args !? #loc :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SpatialTransformer_upd ::-                        forall args . Fullfilled "_SpatialTransformer(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "_SpatialTransformer(ndarray)" args -> IO ()-_SpatialTransformer_upd outputs args-  = let scalarArgs-          = catMaybes-              [("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine"])),-               ("sampler_type",) . showValue <$>-                 (args !? #sampler_type :: Maybe (EnumType '["bilinear"])),-               ("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("loc",) <$> (args !? #loc :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SpatialTransformer(ndarray)"-     = '[]--_backward_SpatialTransformer ::-                             forall args .-                               Fullfilled "_backward_SpatialTransformer(ndarray)" args =>-                               ArgsHMap "_backward_SpatialTransformer(ndarray)" args ->-                                 IO [NDArrayHandle]-_backward_SpatialTransformer args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SpatialTransformer_upd ::-                                 forall args .-                                   Fullfilled "_backward_SpatialTransformer(ndarray)" args =>-                                   [NDArrayHandle] ->-                                     ArgsHMap "_backward_SpatialTransformer(ndarray)" args -> IO ()-_backward_SpatialTransformer_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SpatialTransformer"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SwapAxis(ndarray)" = '[]--_backward_SwapAxis ::-                   forall args . Fullfilled "_backward_SwapAxis(ndarray)" args =>-                     ArgsHMap "_backward_SwapAxis(ndarray)" args -> IO [NDArrayHandle]-_backward_SwapAxis args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SwapAxis_upd ::-                       forall args . Fullfilled "_backward_SwapAxis(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_SwapAxis(ndarray)" args -> IO ()-_backward_SwapAxis_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SwapAxis"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_L2Normalization(ndarray)" =-     '[ '("eps", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["channel", "instance", "spatial"])),-        '("data", AttrOpt NDArrayHandle)]--_L2Normalization ::-                 forall args . Fullfilled "_L2Normalization(ndarray)" args =>-                   ArgsHMap "_L2Normalization(ndarray)" args -> IO [NDArrayHandle]-_L2Normalization args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["channel", "instance", "spatial"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_L2Normalization_upd ::-                     forall args . Fullfilled "_L2Normalization(ndarray)" args =>-                       [NDArrayHandle] ->-                         ArgsHMap "_L2Normalization(ndarray)" args -> IO ()-_L2Normalization_upd outputs args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["channel", "instance", "spatial"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_L2Normalization(ndarray)" =-     '[]--_backward_L2Normalization ::-                          forall args .-                            Fullfilled "_backward_L2Normalization(ndarray)" args =>-                            ArgsHMap "_backward_L2Normalization(ndarray)" args ->-                              IO [NDArrayHandle]-_backward_L2Normalization args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_L2Normalization_upd ::-                              forall args .-                                Fullfilled "_backward_L2Normalization(ndarray)" args =>-                                [NDArrayHandle] ->-                                  ArgsHMap "_backward_L2Normalization(ndarray)" args -> IO ()-_backward_L2Normalization_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_L2Normalization"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Correlation(ndarray)" =-     '[ '("kernel_size", AttrOpt Int),-        '("max_displacement", AttrOpt Int), '("stride1", AttrOpt Int),-        '("stride2", AttrOpt Int), '("pad_size", AttrOpt Int),-        '("is_multiply", AttrOpt Bool), '("data1", AttrOpt NDArrayHandle),-        '("data2", AttrOpt NDArrayHandle)]--_Correlation ::-             forall args . Fullfilled "_Correlation(ndarray)" args =>-               ArgsHMap "_Correlation(ndarray)" args -> IO [NDArrayHandle]-_Correlation args-  = let scalarArgs-          = catMaybes-              [("kernel_size",) . showValue <$>-                 (args !? #kernel_size :: Maybe Int),-               ("max_displacement",) . showValue <$>-                 (args !? #max_displacement :: Maybe Int),-               ("stride1",) . showValue <$> (args !? #stride1 :: Maybe Int),-               ("stride2",) . showValue <$> (args !? #stride2 :: Maybe Int),-               ("pad_size",) . showValue <$> (args !? #pad_size :: Maybe Int),-               ("is_multiply",) . showValue <$>-                 (args !? #is_multiply :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data1",) <$> (args !? #data1 :: Maybe NDArrayHandle),-               ("data2",) <$> (args !? #data2 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Correlation_upd ::-                 forall args . Fullfilled "_Correlation(ndarray)" args =>-                   [NDArrayHandle] -> ArgsHMap "_Correlation(ndarray)" args -> IO ()-_Correlation_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel_size",) . showValue <$>-                 (args !? #kernel_size :: Maybe Int),-               ("max_displacement",) . showValue <$>-                 (args !? #max_displacement :: Maybe Int),-               ("stride1",) . showValue <$> (args !? #stride1 :: Maybe Int),-               ("stride2",) . showValue <$> (args !? #stride2 :: Maybe Int),-               ("pad_size",) . showValue <$> (args !? #pad_size :: Maybe Int),-               ("is_multiply",) . showValue <$>-                 (args !? #is_multiply :: Maybe Bool)]-        tensorArgs-          = catMaybes-              [("data1",) <$> (args !? #data1 :: Maybe NDArrayHandle),-               ("data2",) <$> (args !? #data2 :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Correlation(ndarray)" = '[]--_backward_Correlation ::-                      forall args . Fullfilled "_backward_Correlation(ndarray)" args =>-                        ArgsHMap "_backward_Correlation(ndarray)" args ->-                          IO [NDArrayHandle]-_backward_Correlation args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Correlation_upd ::-                          forall args . Fullfilled "_backward_Correlation(ndarray)" args =>-                            [NDArrayHandle] ->-                              ArgsHMap "_backward_Correlation(ndarray)" args -> IO ()-_backward_Correlation_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Correlation"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance-     ParameterList "_backward_IdentityAttachKLSparseReg(ndarray)" = '[]--_backward_IdentityAttachKLSparseReg ::-                                    forall args .-                                      Fullfilled "_backward_IdentityAttachKLSparseReg(ndarray)"-                                        args =>-                                      ArgsHMap "_backward_IdentityAttachKLSparseReg(ndarray)" args-                                        -> IO [NDArrayHandle]-_backward_IdentityAttachKLSparseReg args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_IdentityAttachKLSparseReg_upd ::-                                        forall args .-                                          Fullfilled "_backward_IdentityAttachKLSparseReg(ndarray)"-                                            args =>-                                          [NDArrayHandle] ->-                                            ArgsHMap "_backward_IdentityAttachKLSparseReg(ndarray)"-                                              args-                                              -> IO ()-_backward_IdentityAttachKLSparseReg_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_IdentityAttachKLSparseReg"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_MakeLoss(ndarray)" =-     '[ '("grad_scale", AttrOpt Float),-        '("valid_thresh", AttrOpt Float),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("data", AttrOpt NDArrayHandle)]--_MakeLoss ::-          forall args . Fullfilled "_MakeLoss(ndarray)" args =>-            ArgsHMap "_MakeLoss(ndarray)" args -> IO [NDArrayHandle]-_MakeLoss args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_MakeLoss_upd ::-              forall args . Fullfilled "_MakeLoss(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_MakeLoss(ndarray)" args -> IO ()-_MakeLoss_upd outputs args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"]))]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_MakeLoss(ndarray)" = '[]--_backward_MakeLoss ::-                   forall args . Fullfilled "_backward_MakeLoss(ndarray)" args =>-                     ArgsHMap "_backward_MakeLoss(ndarray)" args -> IO [NDArrayHandle]-_backward_MakeLoss args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_MakeLoss_upd ::-                       forall args . Fullfilled "_backward_MakeLoss(ndarray)" args =>-                         [NDArrayHandle] ->-                           ArgsHMap "_backward_MakeLoss(ndarray)" args -> IO ()-_backward_MakeLoss_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MakeLoss"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SliceChannel(ndarray)" = '[]--_backward_SliceChannel ::-                       forall args . Fullfilled "_backward_SliceChannel(ndarray)" args =>-                         ArgsHMap "_backward_SliceChannel(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_SliceChannel args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SliceChannel_upd ::-                           forall args . Fullfilled "_backward_SliceChannel(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_SliceChannel(ndarray)" args -> IO ()-_backward_SliceChannel_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SliceChannel"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_Pooling_v1(ndarray)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "max", "sum"])),-        '("global_pool", AttrOpt Bool),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("data", AttrOpt NDArrayHandle)]--_Pooling_v1 ::-            forall args . Fullfilled "_Pooling_v1(ndarray)" args =>-              ArgsHMap "_Pooling_v1(ndarray)" args -> IO [NDArrayHandle]-_Pooling_v1 args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_Pooling_v1_upd ::-                forall args . Fullfilled "_Pooling_v1(ndarray)" args =>-                  [NDArrayHandle] -> ArgsHMap "_Pooling_v1(ndarray)" args -> IO ()-_Pooling_v1_upd outputs args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Pooling_v1(ndarray)" = '[]--_backward_Pooling_v1 ::-                     forall args . Fullfilled "_backward_Pooling_v1(ndarray)" args =>-                       ArgsHMap "_backward_Pooling_v1(ndarray)" args -> IO [NDArrayHandle]-_backward_Pooling_v1 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Pooling_v1_upd ::-                         forall args . Fullfilled "_backward_Pooling_v1(ndarray)" args =>-                           [NDArrayHandle] ->-                             ArgsHMap "_backward_Pooling_v1(ndarray)" args -> IO ()-_backward_Pooling_v1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_Pad(ndarray)" = '[]--_backward_Pad ::-              forall args . Fullfilled "_backward_Pad(ndarray)" args =>-                ArgsHMap "_backward_Pad(ndarray)" args -> IO [NDArrayHandle]-_backward_Pad args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_Pad_upd ::-                  forall args . Fullfilled "_backward_Pad(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_backward_Pad(ndarray)" args -> IO ()-_backward_Pad_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pad"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_BatchNorm_v1(ndarray)" = '[]--_backward_BatchNorm_v1 ::-                       forall args . Fullfilled "_backward_BatchNorm_v1(ndarray)" args =>-                         ArgsHMap "_backward_BatchNorm_v1(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_BatchNorm_v1 args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_BatchNorm_v1_upd ::-                           forall args . Fullfilled "_backward_BatchNorm_v1(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_BatchNorm_v1(ndarray)" args -> IO ()-_backward_BatchNorm_v1_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm_v1"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_SequenceMask(ndarray)" =-     '[ '("use_sequence_length", AttrOpt Bool),-        '("value", AttrOpt Float), '("axis", AttrOpt Int),-        '("data", AttrOpt NDArrayHandle),-        '("sequence_length", AttrOpt NDArrayHandle)]--_SequenceMask ::-              forall args . Fullfilled "_SequenceMask(ndarray)" args =>-                ArgsHMap "_SequenceMask(ndarray)" args -> IO [NDArrayHandle]-_SequenceMask args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("value",) . showValue <$> (args !? #value :: Maybe Float),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_SequenceMask_upd ::-                  forall args . Fullfilled "_SequenceMask(ndarray)" args =>-                    [NDArrayHandle] -> ArgsHMap "_SequenceMask(ndarray)" args -> IO ()-_SequenceMask_upd outputs args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("value",) . showValue <$> (args !? #value :: Maybe Float),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe NDArrayHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_backward_SequenceMask(ndarray)" = '[]--_backward_SequenceMask ::-                       forall args . Fullfilled "_backward_SequenceMask(ndarray)" args =>-                         ArgsHMap "_backward_SequenceMask(ndarray)" args ->-                           IO [NDArrayHandle]-_backward_SequenceMask args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_backward_SequenceMask_upd ::-                           forall args . Fullfilled "_backward_SequenceMask(ndarray)" args =>-                             [NDArrayHandle] ->-                               ArgsHMap "_backward_SequenceMask(ndarray)" args -> IO ()-_backward_SequenceMask_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceMask"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_set_value(ndarray)" =-     '[ '("src", AttrOpt Float)]--_set_value ::-           forall args . Fullfilled "_set_value(ndarray)" args =>-             ArgsHMap "_set_value(ndarray)" args -> IO [NDArrayHandle]-_set_value args-  = let scalarArgs-          = catMaybes-              [("src",) . showValue <$> (args !? #src :: Maybe Float)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_set_value"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_set_value_upd ::-               forall args . Fullfilled "_set_value(ndarray)" args =>-                 [NDArrayHandle] -> ArgsHMap "_set_value(ndarray)" args -> IO ()-_set_value_upd outputs args-  = let scalarArgs-          = catMaybes-              [("src",) . showValue <$> (args !? #src :: Maybe Float)]-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_set_value"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_onehot_encode(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("rhs", AttrOpt NDArrayHandle)]--_onehot_encode ::-               forall args . Fullfilled "_onehot_encode(ndarray)" args =>-                 ArgsHMap "_onehot_encode(ndarray)" args -> IO [NDArrayHandle]-_onehot_encode args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_onehot_encode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_onehot_encode_upd ::-                   forall args . Fullfilled "_onehot_encode(ndarray)" args =>-                     [NDArrayHandle] -> ArgsHMap "_onehot_encode(ndarray)" args -> IO ()-_onehot_encode_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_onehot_encode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "fill_element_0index(ndarray)" =-     '[ '("lhs", AttrOpt NDArrayHandle),-        '("mhs", AttrOpt NDArrayHandle), '("rhs", AttrOpt NDArrayHandle)]--fill_element_0index ::-                    forall args . Fullfilled "fill_element_0index(ndarray)" args =>-                      ArgsHMap "fill_element_0index(ndarray)" args -> IO [NDArrayHandle]-fill_element_0index args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("mhs",) <$> (args !? #mhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fill_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--fill_element_0index_upd ::-                        forall args . Fullfilled "fill_element_0index(ndarray)" args =>-                          [NDArrayHandle] ->-                            ArgsHMap "fill_element_0index(ndarray)" args -> IO ()-fill_element_0index_upd outputs args-  = let scalarArgs = catMaybes []-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe NDArrayHandle),-               ("mhs",) <$> (args !? #mhs :: Maybe NDArrayHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fill_element_0index"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()--type instance ParameterList "_imdecode(ndarray)" =-     '[ '("index", AttrOpt Int), '("x0", AttrOpt Int),-        '("y0", AttrOpt Int), '("x1", AttrOpt Int), '("y1", AttrOpt Int),-        '("c", AttrOpt Int), '("size", AttrOpt Int),-        '("mean", AttrOpt NDArrayHandle)]--_imdecode ::-          forall args . Fullfilled "_imdecode(ndarray)" args =>-            ArgsHMap "_imdecode(ndarray)" args -> IO [NDArrayHandle]-_imdecode args-  = let scalarArgs-          = catMaybes-              [("index",) . showValue <$> (args !? #index :: Maybe Int),-               ("x0",) . showValue <$> (args !? #x0 :: Maybe Int),-               ("y0",) . showValue <$> (args !? #y0 :: Maybe Int),-               ("x1",) . showValue <$> (args !? #x1 :: Maybe Int),-               ("y1",) . showValue <$> (args !? #y1 :: Maybe Int),-               ("c",) . showValue <$> (args !? #c :: Maybe Int),-               ("size",) . showValue <$> (args !? #size :: Maybe Int)]-        tensorArgs-          = catMaybes [("mean",) <$> (args !? #mean :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_imdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        Nothing-         return listndarr--_imdecode_upd ::-              forall args . Fullfilled "_imdecode(ndarray)" args =>-                [NDArrayHandle] -> ArgsHMap "_imdecode(ndarray)" args -> IO ()-_imdecode_upd outputs args-  = let scalarArgs-          = catMaybes-              [("index",) . showValue <$> (args !? #index :: Maybe Int),-               ("x0",) . showValue <$> (args !? #x0 :: Maybe Int),-               ("y0",) . showValue <$> (args !? #y0 :: Maybe Int),-               ("x1",) . showValue <$> (args !? #x1 :: Maybe Int),-               ("y1",) . showValue <$> (args !? #y1 :: Maybe Int),-               ("c",) . showValue <$> (args !? #c :: Maybe Int),-               ("size",) . showValue <$> (args !? #size :: Maybe Int)]-        tensorArgs-          = catMaybes [("mean",) <$> (args !? #mean :: Maybe NDArrayHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_imdecode"-         listndarr <- mxImperativeInvoke (fromOpHandle op) tensorvals-                        scalarArgs-                        (Just outputs)-         return ()
− ops/1.5/MXNet/Base/Operators/Symbol.hs
@@ -1,13179 +0,0 @@-module MXNet.Base.Operators.Symbol where-import MXNet.Base.Raw-import MXNet.Base.Spec.Operator-import MXNet.Base.Spec.HMap-import Data.Maybe (catMaybes, fromMaybe)--type instance ParameterList "_CuDNNBatchNorm(symbol)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle),-        '("moving_mean", AttrOpt SymbolHandle),-        '("moving_var", AttrOpt SymbolHandle)]--_CuDNNBatchNorm ::-                forall args . Fullfilled "_CuDNNBatchNorm(symbol)" args =>-                  String ->-                    ArgsHMap "_CuDNNBatchNorm(symbol)" args -> IO SymbolHandle-_CuDNNBatchNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe SymbolHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CuDNNBatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_CuDNNBatchNorm(symbol)" =-     '[]--_backward_CuDNNBatchNorm ::-                         forall args . Fullfilled "_backward_CuDNNBatchNorm(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_CuDNNBatchNorm(symbol)" args -> IO SymbolHandle-_backward_CuDNNBatchNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CuDNNBatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_multinomial(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("get_prob", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt SymbolHandle)]--_sample_multinomial ::-                    forall args . Fullfilled "_sample_multinomial(symbol)" args =>-                      String ->-                        ArgsHMap "_sample_multinomial(symbol)" args -> IO SymbolHandle-_sample_multinomial name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("get_prob",) . showValue <$> (args !? #get_prob :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_multinomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sample_multinomial(symbol)"-     = '[]--_backward_sample_multinomial ::-                             forall args .-                               Fullfilled "_backward_sample_multinomial(symbol)" args =>-                               String ->-                                 ArgsHMap "_backward_sample_multinomial(symbol)" args ->-                                   IO SymbolHandle-_backward_sample_multinomial name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sample_multinomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_uniform(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("low", AttrOpt SymbolHandle), '("high", AttrOpt SymbolHandle)]--_sample_uniform ::-                forall args . Fullfilled "_sample_uniform(symbol)" args =>-                  String ->-                    ArgsHMap "_sample_uniform(symbol)" args -> IO SymbolHandle-_sample_uniform name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("low",) <$> (args !? #low :: Maybe SymbolHandle),-               ("high",) <$> (args !? #high :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_uniform"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_normal(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt SymbolHandle), '("sigma", AttrOpt SymbolHandle)]--_sample_normal ::-               forall args . Fullfilled "_sample_normal(symbol)" args =>-                 String -> ArgsHMap "_sample_normal(symbol)" args -> IO SymbolHandle-_sample_normal name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe SymbolHandle),-               ("sigma",) <$> (args !? #sigma :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_normal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_gamma(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("alpha", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle)]--_sample_gamma ::-              forall args . Fullfilled "_sample_gamma(symbol)" args =>-                String -> ArgsHMap "_sample_gamma(symbol)" args -> IO SymbolHandle-_sample_gamma name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("alpha",) <$> (args !? #alpha :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_exponential(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt SymbolHandle)]--_sample_exponential ::-                    forall args . Fullfilled "_sample_exponential(symbol)" args =>-                      String ->-                        ArgsHMap "_sample_exponential(symbol)" args -> IO SymbolHandle-_sample_exponential name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_exponential"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_poisson(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("lam", AttrOpt SymbolHandle)]--_sample_poisson ::-                forall args . Fullfilled "_sample_poisson(symbol)" args =>-                  String ->-                    ArgsHMap "_sample_poisson(symbol)" args -> IO SymbolHandle-_sample_poisson name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("lam",) <$> (args !? #lam :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_poisson"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_negative_binomial(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("k", AttrOpt SymbolHandle), '("p", AttrOpt SymbolHandle)]--_sample_negative_binomial ::-                          forall args .-                            Fullfilled "_sample_negative_binomial(symbol)" args =>-                            String ->-                              ArgsHMap "_sample_negative_binomial(symbol)" args ->-                                IO SymbolHandle-_sample_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("k",) <$> (args !? #k :: Maybe SymbolHandle),-               ("p",) <$> (args !? #p :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_sample_generalized_negative_binomial(symbol)" =-     '[ '("shape", AttrOpt [Int]),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),-        '("mu", AttrOpt SymbolHandle), '("alpha", AttrOpt SymbolHandle)]--_sample_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_sample_generalized_negative_binomial(symbol)"-                                          args =>-                                        String ->-                                          ArgsHMap "_sample_generalized_negative_binomial(symbol)"-                                            args-                                            -> IO SymbolHandle-_sample_generalized_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("mu",) <$> (args !? #mu :: Maybe SymbolHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_generalized_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sample_unique_zipfian(symbol)" =-     '[ '("range_max", AttrReq Int), '("shape", AttrOpt [Int])]--_sample_unique_zipfian ::-                       forall args . Fullfilled "_sample_unique_zipfian(symbol)" args =>-                         String ->-                           ArgsHMap "_sample_unique_zipfian(symbol)" args -> IO SymbolHandle-_sample_unique_zipfian name args-  = let scalarArgs-          = catMaybes-              [("range_max",) . showValue <$> (args !? #range_max :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sample_unique_zipfian"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_uniform(symbol)" =-     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_uniform ::-                forall args . Fullfilled "_random_uniform(symbol)" args =>-                  String ->-                    ArgsHMap "_random_uniform(symbol)" args -> IO SymbolHandle-_random_uniform name args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_normal(symbol)" =-     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_normal ::-               forall args . Fullfilled "_random_normal(symbol)" args =>-                 String -> ArgsHMap "_random_normal(symbol)" args -> IO SymbolHandle-_random_normal name args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_gamma(symbol)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_gamma ::-              forall args . Fullfilled "_random_gamma(symbol)" args =>-                String -> ArgsHMap "_random_gamma(symbol)" args -> IO SymbolHandle-_random_gamma name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_exponential(symbol)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_exponential ::-                    forall args . Fullfilled "_random_exponential(symbol)" args =>-                      String ->-                        ArgsHMap "_random_exponential(symbol)" args -> IO SymbolHandle-_random_exponential name args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_poisson(symbol)" =-     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_poisson ::-                forall args . Fullfilled "_random_poisson(symbol)" args =>-                  String ->-                    ArgsHMap "_random_poisson(symbol)" args -> IO SymbolHandle-_random_poisson name args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_negative_binomial(symbol)" =-     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_negative_binomial ::-                          forall args .-                            Fullfilled "_random_negative_binomial(symbol)" args =>-                            String ->-                              ArgsHMap "_random_negative_binomial(symbol)" args ->-                                IO SymbolHandle-_random_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_random_generalized_negative_binomial(symbol)" =-     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]--_random_generalized_negative_binomial ::-                                      forall args .-                                        Fullfilled "_random_generalized_negative_binomial(symbol)"-                                          args =>-                                        String ->-                                          ArgsHMap "_random_generalized_negative_binomial(symbol)"-                                            args-                                            -> IO SymbolHandle-_random_generalized_negative_binomial name args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_randint(symbol)" =-     '[ '("low", AttrReq Int), '("high", AttrReq Int),-        '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype", AttrOpt (EnumType '["None", "int32", "int64"]))]--_random_randint ::-                forall args . Fullfilled "_random_randint(symbol)" args =>-                  String ->-                    ArgsHMap "_random_randint(symbol)" args -> IO SymbolHandle-_random_randint name args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Int),-               ("high",) . showValue <$> (args !? #high :: Maybe Int),-               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype :: Maybe (EnumType '["None", "int32", "int64"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_randint"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_uniform_like(symbol)" =-     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_random_uniform_like ::-                     forall args . Fullfilled "_random_uniform_like(symbol)" args =>-                       String ->-                         ArgsHMap "_random_uniform_like(symbol)" args -> IO SymbolHandle-_random_uniform_like name args-  = let scalarArgs-          = catMaybes-              [("low",) . showValue <$> (args !? #low :: Maybe Float),-               ("high",) . showValue <$> (args !? #high :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_uniform_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_normal_like(symbol)" =-     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_random_normal_like ::-                    forall args . Fullfilled "_random_normal_like(symbol)" args =>-                      String ->-                        ArgsHMap "_random_normal_like(symbol)" args -> IO SymbolHandle-_random_normal_like name args-  = let scalarArgs-          = catMaybes-              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),-               ("scale",) . showValue <$> (args !? #scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_normal_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_gamma_like(symbol)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_random_gamma_like ::-                   forall args . Fullfilled "_random_gamma_like(symbol)" args =>-                     String ->-                       ArgsHMap "_random_gamma_like(symbol)" args -> IO SymbolHandle-_random_gamma_like name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_gamma_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_exponential_like(symbol)" =-     '[ '("lam", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_random_exponential_like ::-                         forall args . Fullfilled "_random_exponential_like(symbol)" args =>-                           String ->-                             ArgsHMap "_random_exponential_like(symbol)" args -> IO SymbolHandle-_random_exponential_like name args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_exponential_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_random_poisson_like(symbol)" =-     '[ '("lam", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_random_poisson_like ::-                     forall args . Fullfilled "_random_poisson_like(symbol)" args =>-                       String ->-                         ArgsHMap "_random_poisson_like(symbol)" args -> IO SymbolHandle-_random_poisson_like name args-  = let scalarArgs-          = catMaybes-              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_poisson_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_random_negative_binomial_like(symbol)" =-     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_random_negative_binomial_like ::-                               forall args .-                                 Fullfilled "_random_negative_binomial_like(symbol)" args =>-                                 String ->-                                   ArgsHMap "_random_negative_binomial_like(symbol)" args ->-                                     IO SymbolHandle-_random_negative_binomial_like name args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("p",) . showValue <$> (args !? #p :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_negative_binomial_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_random_generalized_negative_binomial_like(symbol)"-     =-     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_random_generalized_negative_binomial_like ::-                                           forall args .-                                             Fullfilled-                                               "_random_generalized_negative_binomial_like(symbol)"-                                               args =>-                                             String ->-                                               ArgsHMap-                                                 "_random_generalized_negative_binomial_like(symbol)"-                                                 args-                                                 -> IO SymbolHandle-_random_generalized_negative_binomial_like name args-  = let scalarArgs-          = catMaybes-              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_random_generalized_negative_binomial_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_shuffle(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_shuffle ::-         forall args . Fullfilled "_shuffle(symbol)" args =>-           String -> ArgsHMap "_shuffle(symbol)" args -> IO SymbolHandle-_shuffle name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_shuffle"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Custom(symbol)" =-     '[ '("op_type", AttrOpt String), '("data", AttrOpt [SymbolHandle])]--_Custom ::-        forall args .-          (Fullfilled "_Custom(symbol)" args,-           PopKey (ArgOf "_Custom(symbol)") args "data",-           Dump (PopResult (ArgOf "_Custom(symbol)") args "data")) =>-          String -> ArgsHMap "_Custom(symbol)" args -> IO SymbolHandle-_Custom name args-  = let scalarArgs = dump (pop args #data)-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "Custom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_Custom(symbol)" = '[]--_backward_Custom ::-                 forall args . Fullfilled "_backward_Custom(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_Custom(symbol)" args -> IO SymbolHandle-_backward_Custom name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Custom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_power(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_power ::-                forall args . Fullfilled "broadcast_power(symbol)" args =>-                  String ->-                    ArgsHMap "broadcast_power(symbol)" args -> IO SymbolHandle-broadcast_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_power(symbol)" =-     '[]--_backward_broadcast_power ::-                          forall args .-                            Fullfilled "_backward_broadcast_power(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_broadcast_power(symbol)" args ->-                                IO SymbolHandle-_backward_broadcast_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_maximum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_maximum ::-                  forall args . Fullfilled "broadcast_maximum(symbol)" args =>-                    String ->-                      ArgsHMap "broadcast_maximum(symbol)" args -> IO SymbolHandle-broadcast_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_maximum(symbol)" =-     '[]--_backward_broadcast_maximum ::-                            forall args .-                              Fullfilled "_backward_broadcast_maximum(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_broadcast_maximum(symbol)" args ->-                                  IO SymbolHandle-_backward_broadcast_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_minimum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_minimum ::-                  forall args . Fullfilled "broadcast_minimum(symbol)" args =>-                    String ->-                      ArgsHMap "broadcast_minimum(symbol)" args -> IO SymbolHandle-broadcast_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_minimum(symbol)" =-     '[]--_backward_broadcast_minimum ::-                            forall args .-                              Fullfilled "_backward_broadcast_minimum(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_broadcast_minimum(symbol)" args ->-                                  IO SymbolHandle-_backward_broadcast_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_hypot(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_hypot ::-                forall args . Fullfilled "broadcast_hypot(symbol)" args =>-                  String ->-                    ArgsHMap "broadcast_hypot(symbol)" args -> IO SymbolHandle-broadcast_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_hypot(symbol)" =-     '[]--_backward_broadcast_hypot ::-                          forall args .-                            Fullfilled "_backward_broadcast_hypot(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_broadcast_hypot(symbol)" args ->-                                IO SymbolHandle-_backward_broadcast_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_equal ::-       forall args . Fullfilled "_equal(symbol)" args =>-         String -> ArgsHMap "_equal(symbol)" args -> IO SymbolHandle-_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_not_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_not_equal ::-           forall args . Fullfilled "_not_equal(symbol)" args =>-             String -> ArgsHMap "_not_equal(symbol)" args -> IO SymbolHandle-_not_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_greater ::-         forall args . Fullfilled "_greater(symbol)" args =>-           String -> ArgsHMap "_greater(symbol)" args -> IO SymbolHandle-_greater name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_greater_equal ::-               forall args . Fullfilled "_greater_equal(symbol)" args =>-                 String -> ArgsHMap "_greater_equal(symbol)" args -> IO SymbolHandle-_greater_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_lesser ::-        forall args . Fullfilled "_lesser(symbol)" args =>-          String -> ArgsHMap "_lesser(symbol)" args -> IO SymbolHandle-_lesser name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_lesser_equal ::-              forall args . Fullfilled "_lesser_equal(symbol)" args =>-                String -> ArgsHMap "_lesser_equal(symbol)" args -> IO SymbolHandle-_lesser_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_and(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_logical_and ::-             forall args . Fullfilled "_logical_and(symbol)" args =>-               String -> ArgsHMap "_logical_and(symbol)" args -> IO SymbolHandle-_logical_and name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_or(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_logical_or ::-            forall args . Fullfilled "_logical_or(symbol)" args =>-              String -> ArgsHMap "_logical_or(symbol)" args -> IO SymbolHandle-_logical_or name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_xor(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_logical_xor ::-             forall args . Fullfilled "_logical_xor(symbol)" args =>-               String -> ArgsHMap "_logical_xor(symbol)" args -> IO SymbolHandle-_logical_xor name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_power(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_power ::-       forall args . Fullfilled "_power(symbol)" args =>-         String -> ArgsHMap "_power(symbol)" args -> IO SymbolHandle-_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_power(symbol)" = '[]--_backward_power ::-                forall args . Fullfilled "_backward_power(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_power(symbol)" args -> IO SymbolHandle-_backward_power name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_maximum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_maximum ::-         forall args . Fullfilled "_maximum(symbol)" args =>-           String -> ArgsHMap "_maximum(symbol)" args -> IO SymbolHandle-_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_maximum(symbol)" = '[]--_backward_maximum ::-                  forall args . Fullfilled "_backward_maximum(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_maximum(symbol)" args -> IO SymbolHandle-_backward_maximum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_minimum(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_minimum ::-         forall args . Fullfilled "_minimum(symbol)" args =>-           String -> ArgsHMap "_minimum(symbol)" args -> IO SymbolHandle-_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_minimum(symbol)" = '[]--_backward_minimum ::-                  forall args . Fullfilled "_backward_minimum(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_minimum(symbol)" args -> IO SymbolHandle-_backward_minimum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_hypot(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_hypot ::-       forall args . Fullfilled "_hypot(symbol)" args =>-         String -> ArgsHMap "_hypot(symbol)" args -> IO SymbolHandle-_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_hypot(symbol)" = '[]--_backward_hypot ::-                forall args . Fullfilled "_backward_hypot(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_hypot(symbol)" args -> IO SymbolHandle-_backward_hypot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_square_sum(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--_square_sum ::-            forall args . Fullfilled "_square_sum(symbol)" args =>-              String -> ArgsHMap "_square_sum(symbol)" args -> IO SymbolHandle-_square_sum name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_square_sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_square_sum(symbol)" = '[]--_backward_square_sum ::-                     forall args . Fullfilled "_backward_square_sum(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_square_sum(symbol)" args -> IO SymbolHandle-_backward_square_sum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square_sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "add_n(symbol)" =-     '[ '("args", AttrOpt [SymbolHandle])]--add_n ::-      forall args . Fullfilled "add_n(symbol)" args =>-        String -> ArgsHMap "add_n(symbol)" args -> IO SymbolHandle-add_n name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "add_n"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_zeros_without_dtype(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype", AttrOpt Int)]--_zeros_without_dtype ::-                     forall args . Fullfilled "_zeros_without_dtype(symbol)" args =>-                       String ->-                         ArgsHMap "_zeros_without_dtype(symbol)" args -> IO SymbolHandle-_zeros_without_dtype name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$> (args !? #dtype :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros_without_dtype"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_zeros(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_zeros ::-       forall args . Fullfilled "_zeros(symbol)" args =>-         String -> ArgsHMap "_zeros(symbol)" args -> IO SymbolHandle-_zeros name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_zeros"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_eye(symbol)" =-     '[ '("_N", AttrReq Int), '("_M", AttrOpt Int), '("k", AttrOpt Int),-        '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_eye ::-     forall args . Fullfilled "_eye(symbol)" args =>-       String -> ArgsHMap "_eye(symbol)" args -> IO SymbolHandle-_eye name args-  = let scalarArgs-          = catMaybes-              [("_N",) . showValue <$> (args !? #_N :: Maybe Int),-               ("_M",) . showValue <$> (args !? #_M :: Maybe Int),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_eye"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_ones(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_ones ::-      forall args . Fullfilled "_ones(symbol)" args =>-        String -> ArgsHMap "_ones(symbol)" args -> IO SymbolHandle-_ones name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ones"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_full(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("value", AttrReq Double)]--_full ::-      forall args . Fullfilled "_full(symbol)" args =>-        String -> ArgsHMap "_full(symbol)" args -> IO SymbolHandle-_full name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("value",) . showValue <$> (args !? #value :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_full"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_arange(symbol)" =-     '[ '("start", AttrReq Double), '("stop", AttrOpt (Maybe Double)),-        '("step", AttrOpt Double), '("repeat", AttrOpt Int),-        '("infer_range", AttrOpt Bool), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_arange ::-        forall args . Fullfilled "_arange(symbol)" args =>-          String -> ArgsHMap "_arange(symbol)" args -> IO SymbolHandle-_arange name args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("infer_range",) . showValue <$>-                 (args !? #infer_range :: Maybe Bool),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_arange"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linspace(symbol)" =-     '[ '("start", AttrReq Double), '("stop", AttrOpt (Maybe Double)),-        '("step", AttrOpt Double), '("repeat", AttrOpt Int),-        '("infer_range", AttrOpt Bool), '("ctx", AttrOpt String),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"]))]--_linspace ::-          forall args . Fullfilled "_linspace(symbol)" args =>-            String -> ArgsHMap "_linspace(symbol)" args -> IO SymbolHandle-_linspace name args-  = let scalarArgs-          = catMaybes-              [("start",) . showValue <$> (args !? #start :: Maybe Double),-               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),-               ("step",) . showValue <$> (args !? #step :: Maybe Double),-               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),-               ("infer_range",) . showValue <$>-                 (args !? #infer_range :: Maybe Bool),-               ("ctx",) . showValue <$> (args !? #ctx :: Maybe String),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linspace"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "zeros_like(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--zeros_like ::-           forall args . Fullfilled "zeros_like(symbol)" args =>-             String -> ArgsHMap "zeros_like(symbol)" args -> IO SymbolHandle-zeros_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "zeros_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ones_like(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--ones_like ::-          forall args . Fullfilled "ones_like(symbol)" args =>-            String -> ArgsHMap "ones_like(symbol)" args -> IO SymbolHandle-ones_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ones_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_add(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_add ::-              forall args . Fullfilled "broadcast_add(symbol)" args =>-                String -> ArgsHMap "broadcast_add(symbol)" args -> IO SymbolHandle-broadcast_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_add(symbol)" = '[]--_backward_broadcast_add ::-                        forall args . Fullfilled "_backward_broadcast_add(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_add(symbol)" args -> IO SymbolHandle-_backward_broadcast_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_sub(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_sub ::-              forall args . Fullfilled "broadcast_sub(symbol)" args =>-                String -> ArgsHMap "broadcast_sub(symbol)" args -> IO SymbolHandle-broadcast_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_sub(symbol)" = '[]--_backward_broadcast_sub ::-                        forall args . Fullfilled "_backward_broadcast_sub(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_sub(symbol)" args -> IO SymbolHandle-_backward_broadcast_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_mul(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_mul ::-              forall args . Fullfilled "broadcast_mul(symbol)" args =>-                String -> ArgsHMap "broadcast_mul(symbol)" args -> IO SymbolHandle-broadcast_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_mul(symbol)" = '[]--_backward_broadcast_mul ::-                        forall args . Fullfilled "_backward_broadcast_mul(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_mul(symbol)" args -> IO SymbolHandle-_backward_broadcast_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_div(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_div ::-              forall args . Fullfilled "broadcast_div(symbol)" args =>-                String -> ArgsHMap "broadcast_div(symbol)" args -> IO SymbolHandle-broadcast_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_div(symbol)" = '[]--_backward_broadcast_div ::-                        forall args . Fullfilled "_backward_broadcast_div(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_div(symbol)" args -> IO SymbolHandle-_backward_broadcast_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_mod(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_mod ::-              forall args . Fullfilled "broadcast_mod(symbol)" args =>-                String -> ArgsHMap "broadcast_mod(symbol)" args -> IO SymbolHandle-broadcast_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_broadcast_mod(symbol)" = '[]--_backward_broadcast_mod ::-                        forall args . Fullfilled "_backward_broadcast_mod(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_broadcast_mod(symbol)" args -> IO SymbolHandle-_backward_broadcast_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_broadcast_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_gemm(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("beta", AttrOpt Double),-        '("axis", AttrOpt Int), '("_A", AttrOpt SymbolHandle),-        '("_B", AttrOpt SymbolHandle), '("_C", AttrOpt SymbolHandle)]--_linalg_gemm ::-             forall args . Fullfilled "_linalg_gemm(symbol)" args =>-               String -> ArgsHMap "_linalg_gemm(symbol)" args -> IO SymbolHandle-_linalg_gemm name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle),-               ("_C",) <$> (args !? #_C :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_gemm(symbol)" = '[]--_backward_linalg_gemm ::-                      forall args . Fullfilled "_backward_linalg_gemm(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_gemm(symbol)" args -> IO SymbolHandle-_backward_linalg_gemm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_gemm2(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("alpha", AttrOpt Double), '("axis", AttrOpt Int),-        '("_A", AttrOpt SymbolHandle), '("_B", AttrOpt SymbolHandle)]--_linalg_gemm2 ::-              forall args . Fullfilled "_linalg_gemm2(symbol)" args =>-                String -> ArgsHMap "_linalg_gemm2(symbol)" args -> IO SymbolHandle-_linalg_gemm2 name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gemm2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_gemm2(symbol)" = '[]--_backward_linalg_gemm2 ::-                       forall args . Fullfilled "_backward_linalg_gemm2(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_gemm2(symbol)" args -> IO SymbolHandle-_backward_linalg_gemm2 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gemm2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_potrf(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_potrf ::-              forall args . Fullfilled "_linalg_potrf(symbol)" args =>-                String -> ArgsHMap "_linalg_potrf(symbol)" args -> IO SymbolHandle-_linalg_potrf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potrf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_potrf(symbol)" = '[]--_backward_linalg_potrf ::-                       forall args . Fullfilled "_backward_linalg_potrf(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_potrf(symbol)" args -> IO SymbolHandle-_backward_linalg_potrf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potrf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_potri(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_potri ::-              forall args . Fullfilled "_linalg_potri(symbol)" args =>-                String -> ArgsHMap "_linalg_potri(symbol)" args -> IO SymbolHandle-_linalg_potri name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_potri"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_potri(symbol)" = '[]--_backward_linalg_potri ::-                       forall args . Fullfilled "_backward_linalg_potri(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_potri(symbol)" args -> IO SymbolHandle-_backward_linalg_potri name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_potri"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_trmm(symbol)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("lower", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt SymbolHandle), '("_B", AttrOpt SymbolHandle)]--_linalg_trmm ::-             forall args . Fullfilled "_linalg_trmm(symbol)" args =>-               String -> ArgsHMap "_linalg_trmm(symbol)" args -> IO SymbolHandle-_linalg_trmm name args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trmm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_trmm(symbol)" = '[]--_backward_linalg_trmm ::-                      forall args . Fullfilled "_backward_linalg_trmm(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_trmm(symbol)" args -> IO SymbolHandle-_backward_linalg_trmm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trmm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_trsm(symbol)" =-     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),-        '("lower", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt SymbolHandle), '("_B", AttrOpt SymbolHandle)]--_linalg_trsm ::-             forall args . Fullfilled "_linalg_trsm(symbol)" args =>-               String -> ArgsHMap "_linalg_trsm(symbol)" args -> IO SymbolHandle-_linalg_trsm name args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("_A",) <$> (args !? #_A :: Maybe SymbolHandle),-               ("_B",) <$> (args !? #_B :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_trsm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_trsm(symbol)" = '[]--_backward_linalg_trsm ::-                      forall args . Fullfilled "_backward_linalg_trsm(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_trsm(symbol)" args -> IO SymbolHandle-_backward_linalg_trsm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_trsm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_sumlogdiag(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_sumlogdiag ::-                   forall args . Fullfilled "_linalg_sumlogdiag(symbol)" args =>-                     String ->-                       ArgsHMap "_linalg_sumlogdiag(symbol)" args -> IO SymbolHandle-_linalg_sumlogdiag name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_sumlogdiag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_sumlogdiag(symbol)" =-     '[]--_backward_linalg_sumlogdiag ::-                            forall args .-                              Fullfilled "_backward_linalg_sumlogdiag(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_linalg_sumlogdiag(symbol)" args ->-                                  IO SymbolHandle-_backward_linalg_sumlogdiag name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_sumlogdiag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_extractdiag(symbol)" =-     '[ '("offset", AttrOpt Int), '("_A", AttrOpt SymbolHandle)]--_linalg_extractdiag ::-                    forall args . Fullfilled "_linalg_extractdiag(symbol)" args =>-                      String ->-                        ArgsHMap "_linalg_extractdiag(symbol)" args -> IO SymbolHandle-_linalg_extractdiag name args-  = let scalarArgs-          = catMaybes-              [("offset",) . showValue <$> (args !? #offset :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_extractdiag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_extractdiag(symbol)"-     = '[]--_backward_linalg_extractdiag ::-                             forall args .-                               Fullfilled "_backward_linalg_extractdiag(symbol)" args =>-                               String ->-                                 ArgsHMap "_backward_linalg_extractdiag(symbol)" args ->-                                   IO SymbolHandle-_backward_linalg_extractdiag name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_extractdiag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_makediag(symbol)" =-     '[ '("offset", AttrOpt Int), '("_A", AttrOpt SymbolHandle)]--_linalg_makediag ::-                 forall args . Fullfilled "_linalg_makediag(symbol)" args =>-                   String ->-                     ArgsHMap "_linalg_makediag(symbol)" args -> IO SymbolHandle-_linalg_makediag name args-  = let scalarArgs-          = catMaybes-              [("offset",) . showValue <$> (args !? #offset :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_makediag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_makediag(symbol)" =-     '[]--_backward_linalg_makediag ::-                          forall args .-                            Fullfilled "_backward_linalg_makediag(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_linalg_makediag(symbol)" args ->-                                IO SymbolHandle-_backward_linalg_makediag name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_makediag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_extracttrian(symbol)" =-     '[ '("offset", AttrOpt Int), '("lower", AttrOpt Bool),-        '("_A", AttrOpt SymbolHandle)]--_linalg_extracttrian ::-                     forall args . Fullfilled "_linalg_extracttrian(symbol)" args =>-                       String ->-                         ArgsHMap "_linalg_extracttrian(symbol)" args -> IO SymbolHandle-_linalg_extracttrian name args-  = let scalarArgs-          = catMaybes-              [("offset",) . showValue <$> (args !? #offset :: Maybe Int),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_extracttrian"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_extracttrian(symbol)"-     = '[]--_backward_linalg_extracttrian ::-                              forall args .-                                Fullfilled "_backward_linalg_extracttrian(symbol)" args =>-                                String ->-                                  ArgsHMap "_backward_linalg_extracttrian(symbol)" args ->-                                    IO SymbolHandle-_backward_linalg_extracttrian name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_extracttrian"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_maketrian(symbol)" =-     '[ '("offset", AttrOpt Int), '("lower", AttrOpt Bool),-        '("_A", AttrOpt SymbolHandle)]--_linalg_maketrian ::-                  forall args . Fullfilled "_linalg_maketrian(symbol)" args =>-                    String ->-                      ArgsHMap "_linalg_maketrian(symbol)" args -> IO SymbolHandle-_linalg_maketrian name args-  = let scalarArgs-          = catMaybes-              [("offset",) . showValue <$> (args !? #offset :: Maybe Int),-               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_maketrian"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_maketrian(symbol)" =-     '[]--_backward_linalg_maketrian ::-                           forall args .-                             Fullfilled "_backward_linalg_maketrian(symbol)" args =>-                             String ->-                               ArgsHMap "_backward_linalg_maketrian(symbol)" args ->-                                 IO SymbolHandle-_backward_linalg_maketrian name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_maketrian"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_syrk(symbol)" =-     '[ '("transpose", AttrOpt Bool), '("alpha", AttrOpt Double),-        '("_A", AttrOpt SymbolHandle)]--_linalg_syrk ::-             forall args . Fullfilled "_linalg_syrk(symbol)" args =>-               String -> ArgsHMap "_linalg_syrk(symbol)" args -> IO SymbolHandle-_linalg_syrk name args-  = let scalarArgs-          = catMaybes-              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),-               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syrk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_syrk(symbol)" = '[]--_backward_linalg_syrk ::-                      forall args . Fullfilled "_backward_linalg_syrk(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_linalg_syrk(symbol)" args -> IO SymbolHandle-_backward_linalg_syrk name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syrk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_gelqf(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_gelqf ::-              forall args . Fullfilled "_linalg_gelqf(symbol)" args =>-                String -> ArgsHMap "_linalg_gelqf(symbol)" args -> IO SymbolHandle-_linalg_gelqf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_gelqf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_gelqf(symbol)" = '[]--_backward_linalg_gelqf ::-                       forall args . Fullfilled "_backward_linalg_gelqf(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_gelqf(symbol)" args -> IO SymbolHandle-_backward_linalg_gelqf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_gelqf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_syevd(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_syevd ::-              forall args . Fullfilled "_linalg_syevd(symbol)" args =>-                String -> ArgsHMap "_linalg_syevd(symbol)" args -> IO SymbolHandle-_linalg_syevd name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_syevd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_syevd(symbol)" = '[]--_backward_linalg_syevd ::-                       forall args . Fullfilled "_backward_linalg_syevd(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_linalg_syevd(symbol)" args -> IO SymbolHandle-_backward_linalg_syevd name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_syevd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_linalg_inverse(symbol)" =-     '[ '("_A", AttrOpt SymbolHandle)]--_linalg_inverse ::-                forall args . Fullfilled "_linalg_inverse(symbol)" args =>-                  String ->-                    ArgsHMap "_linalg_inverse(symbol)" args -> IO SymbolHandle-_linalg_inverse name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("_A",) <$> (args !? #_A :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_linalg_inverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linalg_inverse(symbol)" =-     '[]--_backward_linalg_inverse ::-                         forall args . Fullfilled "_backward_linalg_inverse(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_linalg_inverse(symbol)" args -> IO SymbolHandle-_backward_linalg_inverse name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linalg_inverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_histogram(symbol)" =-     '[ '("bin_cnt", AttrOpt (Maybe Int)), '("range", AttrOpt Int),-        '("data", AttrOpt SymbolHandle), '("bins", AttrOpt SymbolHandle)]--_histogram ::-           forall args . Fullfilled "_histogram(symbol)" args =>-             String -> ArgsHMap "_histogram(symbol)" args -> IO SymbolHandle-_histogram name args-  = let scalarArgs-          = catMaybes-              [("bin_cnt",) . showValue <$>-                 (args !? #bin_cnt :: Maybe (Maybe Int)),-               ("range",) . showValue <$> (args !? #range :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("bins",) <$> (args !? #bins :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_histogram"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cast_storage(symbol)" =-     '[ '("stype",-          AttrReq (EnumType '["csr", "default", "row_sparse"])),-        '("data", AttrOpt SymbolHandle)]--cast_storage ::-             forall args . Fullfilled "cast_storage(symbol)" args =>-               String -> ArgsHMap "cast_storage(symbol)" args -> IO SymbolHandle-cast_storage name args-  = let scalarArgs-          = catMaybes-              [("stype",) . showValue <$>-                 (args !? #stype ::-                    Maybe (EnumType '["csr", "default", "row_sparse"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cast_storage"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_equal_scalar ::-              forall args . Fullfilled "_equal_scalar(symbol)" args =>-                String -> ArgsHMap "_equal_scalar(symbol)" args -> IO SymbolHandle-_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_not_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_not_equal_scalar ::-                  forall args . Fullfilled "_not_equal_scalar(symbol)" args =>-                    String ->-                      ArgsHMap "_not_equal_scalar(symbol)" args -> IO SymbolHandle-_not_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_not_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_greater_scalar ::-                forall args . Fullfilled "_greater_scalar(symbol)" args =>-                  String ->-                    ArgsHMap "_greater_scalar(symbol)" args -> IO SymbolHandle-_greater_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_greater_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_greater_equal_scalar ::-                      forall args . Fullfilled "_greater_equal_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_greater_equal_scalar(symbol)" args -> IO SymbolHandle-_greater_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_greater_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_lesser_scalar ::-               forall args . Fullfilled "_lesser_scalar(symbol)" args =>-                 String -> ArgsHMap "_lesser_scalar(symbol)" args -> IO SymbolHandle-_lesser_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_lesser_equal_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_lesser_equal_scalar ::-                     forall args . Fullfilled "_lesser_equal_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_lesser_equal_scalar(symbol)" args -> IO SymbolHandle-_lesser_equal_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_lesser_equal_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_and_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_logical_and_scalar ::-                    forall args . Fullfilled "_logical_and_scalar(symbol)" args =>-                      String ->-                        ArgsHMap "_logical_and_scalar(symbol)" args -> IO SymbolHandle-_logical_and_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_and_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_or_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_logical_or_scalar ::-                   forall args . Fullfilled "_logical_or_scalar(symbol)" args =>-                     String ->-                       ArgsHMap "_logical_or_scalar(symbol)" args -> IO SymbolHandle-_logical_or_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_or_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_logical_xor_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_logical_xor_scalar ::-                    forall args . Fullfilled "_logical_xor_scalar(symbol)" args =>-                      String ->-                        ArgsHMap "_logical_xor_scalar(symbol)" args -> IO SymbolHandle-_logical_xor_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_logical_xor_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "relu(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--relu ::-     forall args . Fullfilled "relu(symbol)" args =>-       String -> ArgsHMap "relu(symbol)" args -> IO SymbolHandle-relu name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "relu"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_relu(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_relu ::-               forall args . Fullfilled "_backward_relu(symbol)" args =>-                 String -> ArgsHMap "_backward_relu(symbol)" args -> IO SymbolHandle-_backward_relu name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_relu"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sigmoid(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sigmoid ::-        forall args . Fullfilled "sigmoid(symbol)" args =>-          String -> ArgsHMap "sigmoid(symbol)" args -> IO SymbolHandle-sigmoid name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sigmoid(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sigmoid ::-                  forall args . Fullfilled "_backward_sigmoid(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_sigmoid(symbol)" args -> IO SymbolHandle-_backward_sigmoid name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "hard_sigmoid(symbol)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--hard_sigmoid ::-             forall args . Fullfilled "hard_sigmoid(symbol)" args =>-               String -> ArgsHMap "hard_sigmoid(symbol)" args -> IO SymbolHandle-hard_sigmoid name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "hard_sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_hard_sigmoid(symbol)" = '[]--_backward_hard_sigmoid ::-                       forall args . Fullfilled "_backward_hard_sigmoid(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_hard_sigmoid(symbol)" args -> IO SymbolHandle-_backward_hard_sigmoid name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hard_sigmoid"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "softsign(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--softsign ::-         forall args . Fullfilled "softsign(symbol)" args =>-           String -> ArgsHMap "softsign(symbol)" args -> IO SymbolHandle-softsign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softsign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_softsign(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_softsign ::-                   forall args . Fullfilled "_backward_softsign(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_softsign(symbol)" args -> IO SymbolHandle-_backward_softsign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softsign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_copy(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_copy ::-      forall args . Fullfilled "_copy(symbol)" args =>-        String -> ArgsHMap "_copy(symbol)" args -> IO SymbolHandle-_copy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_copy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_copy(symbol)" = '[]--_backward_copy ::-               forall args . Fullfilled "_backward_copy(symbol)" args =>-                 String -> ArgsHMap "_backward_copy(symbol)" args -> IO SymbolHandle-_backward_copy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_copy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_reshape(symbol)" = '[]--_backward_reshape ::-                  forall args . Fullfilled "_backward_reshape(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_reshape(symbol)" args -> IO SymbolHandle-_backward_reshape name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reshape"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BlockGrad(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_BlockGrad ::-           forall args . Fullfilled "_BlockGrad(symbol)" args =>-             String -> ArgsHMap "_BlockGrad(symbol)" args -> IO SymbolHandle-_BlockGrad name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BlockGrad"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "make_loss(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--make_loss ::-          forall args . Fullfilled "make_loss(symbol)" args =>-            String -> ArgsHMap "make_loss(symbol)" args -> IO SymbolHandle-make_loss name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "make_loss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_identity_with_attr_like_rhs(symbol)"-     =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_identity_with_attr_like_rhs ::-                             forall args .-                               Fullfilled "_identity_with_attr_like_rhs(symbol)" args =>-                               String ->-                                 ArgsHMap "_identity_with_attr_like_rhs(symbol)" args ->-                                   IO SymbolHandle-_identity_with_attr_like_rhs name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_identity_with_attr_like_rhs"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "reshape_like(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--reshape_like ::-             forall args . Fullfilled "reshape_like(symbol)" args =>-               String -> ArgsHMap "reshape_like(symbol)" args -> IO SymbolHandle-reshape_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reshape_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "shape_array(symbol)" =-     '[ '("lhs_begin", AttrOpt (Maybe Int)),-        '("lhs_end", AttrOpt (Maybe Int)),-        '("rhs_begin", AttrOpt (Maybe Int)),-        '("rhs_end", AttrOpt (Maybe Int)), '("data", AttrOpt SymbolHandle)]--shape_array ::-            forall args . Fullfilled "shape_array(symbol)" args =>-              String -> ArgsHMap "shape_array(symbol)" args -> IO SymbolHandle-shape_array name args-  = let scalarArgs-          = catMaybes-              [("lhs_begin",) . showValue <$>-                 (args !? #lhs_begin :: Maybe (Maybe Int)),-               ("lhs_end",) . showValue <$>-                 (args !? #lhs_end :: Maybe (Maybe Int)),-               ("rhs_begin",) . showValue <$>-                 (args !? #rhs_begin :: Maybe (Maybe Int)),-               ("rhs_end",) . showValue <$>-                 (args !? #rhs_end :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "shape_array"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "size_array(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--size_array ::-           forall args . Fullfilled "size_array(symbol)" args =>-             String -> ArgsHMap "size_array(symbol)" args -> IO SymbolHandle-size_array name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "size_array"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Cast(symbol)" =-     '[ '("dtype",-          AttrReq-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("data", AttrOpt SymbolHandle)]--_Cast ::-      forall args . Fullfilled "_Cast(symbol)" args =>-        String -> ArgsHMap "_Cast(symbol)" args -> IO SymbolHandle-_Cast name args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Cast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cast(symbol)" = '[]--_backward_cast ::-               forall args . Fullfilled "_backward_cast(symbol)" args =>-                 String -> ArgsHMap "_backward_cast(symbol)" args -> IO SymbolHandle-_backward_cast name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "negative(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--negative ::-         forall args . Fullfilled "negative(symbol)" args =>-           String -> ArgsHMap "negative(symbol)" args -> IO SymbolHandle-negative name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "negative"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "reciprocal(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--reciprocal ::-           forall args . Fullfilled "reciprocal(symbol)" args =>-             String -> ArgsHMap "reciprocal(symbol)" args -> IO SymbolHandle-reciprocal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reciprocal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_reciprocal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_reciprocal ::-                     forall args . Fullfilled "_backward_reciprocal(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_reciprocal(symbol)" args -> IO SymbolHandle-_backward_reciprocal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reciprocal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "abs(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--abs ::-    forall args . Fullfilled "abs(symbol)" args =>-      String -> ArgsHMap "abs(symbol)" args -> IO SymbolHandle-abs name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "abs"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_abs(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_abs ::-              forall args . Fullfilled "_backward_abs(symbol)" args =>-                String -> ArgsHMap "_backward_abs(symbol)" args -> IO SymbolHandle-_backward_abs name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_abs"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sign(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sign ::-     forall args . Fullfilled "sign(symbol)" args =>-       String -> ArgsHMap "sign(symbol)" args -> IO SymbolHandle-sign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sign(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sign ::-               forall args . Fullfilled "_backward_sign(symbol)" args =>-                 String -> ArgsHMap "_backward_sign(symbol)" args -> IO SymbolHandle-_backward_sign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "round(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--round ::-      forall args . Fullfilled "round(symbol)" args =>-        String -> ArgsHMap "round(symbol)" args -> IO SymbolHandle-round name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "round"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rint(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--rint ::-     forall args . Fullfilled "rint(symbol)" args =>-       String -> ArgsHMap "rint(symbol)" args -> IO SymbolHandle-rint name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rint"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ceil(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--ceil ::-     forall args . Fullfilled "ceil(symbol)" args =>-       String -> ArgsHMap "ceil(symbol)" args -> IO SymbolHandle-ceil name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ceil"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "floor(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--floor ::-      forall args . Fullfilled "floor(symbol)" args =>-        String -> ArgsHMap "floor(symbol)" args -> IO SymbolHandle-floor name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "floor"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "trunc(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--trunc ::-      forall args . Fullfilled "trunc(symbol)" args =>-        String -> ArgsHMap "trunc(symbol)" args -> IO SymbolHandle-trunc name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "trunc"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "fix(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--fix ::-    forall args . Fullfilled "fix(symbol)" args =>-      String -> ArgsHMap "fix(symbol)" args -> IO SymbolHandle-fix name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "fix"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "square(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--square ::-       forall args . Fullfilled "square(symbol)" args =>-         String -> ArgsHMap "square(symbol)" args -> IO SymbolHandle-square name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "square"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_square(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_square ::-                 forall args . Fullfilled "_backward_square(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_square(symbol)" args -> IO SymbolHandle-_backward_square name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_square"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sqrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sqrt ::-     forall args . Fullfilled "sqrt(symbol)" args =>-       String -> ArgsHMap "sqrt(symbol)" args -> IO SymbolHandle-sqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sqrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sqrt ::-               forall args . Fullfilled "_backward_sqrt(symbol)" args =>-                 String -> ArgsHMap "_backward_sqrt(symbol)" args -> IO SymbolHandle-_backward_sqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rsqrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--rsqrt ::-      forall args . Fullfilled "rsqrt(symbol)" args =>-        String -> ArgsHMap "rsqrt(symbol)" args -> IO SymbolHandle-rsqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rsqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rsqrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_rsqrt ::-                forall args . Fullfilled "_backward_rsqrt(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_rsqrt(symbol)" args -> IO SymbolHandle-_backward_rsqrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rsqrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cbrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--cbrt ::-     forall args . Fullfilled "cbrt(symbol)" args =>-       String -> ArgsHMap "cbrt(symbol)" args -> IO SymbolHandle-cbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cbrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_cbrt ::-               forall args . Fullfilled "_backward_cbrt(symbol)" args =>-                 String -> ArgsHMap "_backward_cbrt(symbol)" args -> IO SymbolHandle-_backward_cbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "erf(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--erf ::-    forall args . Fullfilled "erf(symbol)" args =>-      String -> ArgsHMap "erf(symbol)" args -> IO SymbolHandle-erf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "erf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_erf(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_erf ::-              forall args . Fullfilled "_backward_erf(symbol)" args =>-                String -> ArgsHMap "_backward_erf(symbol)" args -> IO SymbolHandle-_backward_erf name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_erf"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "erfinv(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--erfinv ::-       forall args . Fullfilled "erfinv(symbol)" args =>-         String -> ArgsHMap "erfinv(symbol)" args -> IO SymbolHandle-erfinv name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "erfinv"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_erfinv(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_erfinv ::-                 forall args . Fullfilled "_backward_erfinv(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_erfinv(symbol)" args -> IO SymbolHandle-_backward_erfinv name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_erfinv"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rcbrt(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--rcbrt ::-      forall args . Fullfilled "rcbrt(symbol)" args =>-        String -> ArgsHMap "rcbrt(symbol)" args -> IO SymbolHandle-rcbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rcbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rcbrt(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_rcbrt ::-                forall args . Fullfilled "_backward_rcbrt(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_rcbrt(symbol)" args -> IO SymbolHandle-_backward_rcbrt name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rcbrt"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "exp(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--exp ::-    forall args . Fullfilled "exp(symbol)" args =>-      String -> ArgsHMap "exp(symbol)" args -> IO SymbolHandle-exp name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "exp"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log ::-    forall args . Fullfilled "log(symbol)" args =>-      String -> ArgsHMap "log(symbol)" args -> IO SymbolHandle-log name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log10(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log10 ::-      forall args . Fullfilled "log10(symbol)" args =>-        String -> ArgsHMap "log10(symbol)" args -> IO SymbolHandle-log10 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log10"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log2(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log2 ::-     forall args . Fullfilled "log2(symbol)" args =>-       String -> ArgsHMap "log2(symbol)" args -> IO SymbolHandle-log2 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log ::-              forall args . Fullfilled "_backward_log(symbol)" args =>-                String -> ArgsHMap "_backward_log(symbol)" args -> IO SymbolHandle-_backward_log name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log10(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log10 ::-                forall args . Fullfilled "_backward_log10(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_log10(symbol)" args -> IO SymbolHandle-_backward_log10 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log10"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log2(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log2 ::-               forall args . Fullfilled "_backward_log2(symbol)" args =>-                 String -> ArgsHMap "_backward_log2(symbol)" args -> IO SymbolHandle-_backward_log2 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "log1p(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--log1p ::-      forall args . Fullfilled "log1p(symbol)" args =>-        String -> ArgsHMap "log1p(symbol)" args -> IO SymbolHandle-log1p name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log1p"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log1p(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_log1p ::-                forall args . Fullfilled "_backward_log1p(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_log1p(symbol)" args -> IO SymbolHandle-_backward_log1p name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_log1p"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "expm1(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--expm1 ::-      forall args . Fullfilled "expm1(symbol)" args =>-        String -> ArgsHMap "expm1(symbol)" args -> IO SymbolHandle-expm1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expm1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_expm1(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_expm1 ::-                forall args . Fullfilled "_backward_expm1(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_expm1(symbol)" args -> IO SymbolHandle-_backward_expm1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_expm1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "gamma(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--gamma ::-      forall args . Fullfilled "gamma(symbol)" args =>-        String -> ArgsHMap "gamma(symbol)" args -> IO SymbolHandle-gamma name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_gamma(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_gamma ::-                forall args . Fullfilled "_backward_gamma(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_gamma(symbol)" args -> IO SymbolHandle-_backward_gamma name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gamma"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "gammaln(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--gammaln ::-        forall args . Fullfilled "gammaln(symbol)" args =>-          String -> ArgsHMap "gammaln(symbol)" args -> IO SymbolHandle-gammaln name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gammaln"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_gammaln(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_gammaln ::-                  forall args . Fullfilled "_backward_gammaln(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_gammaln(symbol)" args -> IO SymbolHandle-_backward_gammaln name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gammaln"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "logical_not(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--logical_not ::-            forall args . Fullfilled "logical_not(symbol)" args =>-              String -> ArgsHMap "logical_not(symbol)" args -> IO SymbolHandle-logical_not name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "logical_not"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "amp_cast(symbol)" =-     '[ '("dtype",-          AttrReq-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("data", AttrOpt SymbolHandle)]--amp_cast ::-         forall args . Fullfilled "amp_cast(symbol)" args =>-           String -> ArgsHMap "amp_cast(symbol)" args -> IO SymbolHandle-amp_cast name args-  = let scalarArgs-          = catMaybes-              [("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "amp_cast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_amp_cast(symbol)" = '[]--_backward_amp_cast ::-                   forall args . Fullfilled "_backward_amp_cast(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_amp_cast(symbol)" args -> IO SymbolHandle-_backward_amp_cast name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_amp_cast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "amp_multicast(symbol)" =-     '[ '("num_outputs", AttrReq Int),-        '("data", AttrOpt [SymbolHandle])]--amp_multicast ::-              forall args . Fullfilled "amp_multicast(symbol)" args =>-                String -> ArgsHMap "amp_multicast(symbol)" args -> IO SymbolHandle-amp_multicast name args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "amp_multicast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_amp_multicast(symbol)" =-     '[ '("num_outputs", AttrReq Int),-        '("grad", AttrOpt [SymbolHandle])]--_backward_amp_multicast ::-                        forall args . Fullfilled "_backward_amp_multicast(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_amp_multicast(symbol)" args -> IO SymbolHandle-_backward_amp_multicast name args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #grad :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "_backward_amp_multicast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "elemwise_add(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_add ::-             forall args . Fullfilled "elemwise_add(symbol)" args =>-               String -> ArgsHMap "elemwise_add(symbol)" args -> IO SymbolHandle-elemwise_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_grad_add(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_grad_add ::-          forall args . Fullfilled "_grad_add(symbol)" args =>-            String -> ArgsHMap "_grad_add(symbol)" args -> IO SymbolHandle-_grad_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_grad_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_add(symbol)" = '[]--_backward_add ::-              forall args . Fullfilled "_backward_add(symbol)" args =>-                String -> ArgsHMap "_backward_add(symbol)" args -> IO SymbolHandle-_backward_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_sub(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_sub ::-             forall args . Fullfilled "elemwise_sub(symbol)" args =>-               String -> ArgsHMap "elemwise_sub(symbol)" args -> IO SymbolHandle-elemwise_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sub(symbol)" = '[]--_backward_sub ::-              forall args . Fullfilled "_backward_sub(symbol)" args =>-                String -> ArgsHMap "_backward_sub(symbol)" args -> IO SymbolHandle-_backward_sub name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sub"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_mul(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_mul ::-             forall args . Fullfilled "elemwise_mul(symbol)" args =>-               String -> ArgsHMap "elemwise_mul(symbol)" args -> IO SymbolHandle-elemwise_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mul(symbol)" = '[]--_backward_mul ::-              forall args . Fullfilled "_backward_mul(symbol)" args =>-                String -> ArgsHMap "_backward_mul(symbol)" args -> IO SymbolHandle-_backward_mul name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "elemwise_div(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--elemwise_div ::-             forall args . Fullfilled "elemwise_div(symbol)" args =>-               String -> ArgsHMap "elemwise_div(symbol)" args -> IO SymbolHandle-elemwise_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "elemwise_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_div(symbol)" = '[]--_backward_div ::-              forall args . Fullfilled "_backward_div(symbol)" args =>-                String -> ArgsHMap "_backward_div(symbol)" args -> IO SymbolHandle-_backward_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_mod(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_mod ::-     forall args . Fullfilled "_mod(symbol)" args =>-       String -> ArgsHMap "_mod(symbol)" args -> IO SymbolHandle-_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mod(symbol)" = '[]--_backward_mod ::-              forall args . Fullfilled "_backward_mod(symbol)" args =>-                String -> ArgsHMap "_backward_mod(symbol)" args -> IO SymbolHandle-_backward_mod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_elemwise_div(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_scatter_elemwise_div ::-                      forall args . Fullfilled "_scatter_elemwise_div(symbol)" args =>-                        String ->-                          ArgsHMap "_scatter_elemwise_div(symbol)" args -> IO SymbolHandle-_scatter_elemwise_div name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_elemwise_div"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_plus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_scatter_plus_scalar ::-                     forall args . Fullfilled "_scatter_plus_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_scatter_plus_scalar(symbol)" args -> IO SymbolHandle-_scatter_plus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_plus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_minus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_scatter_minus_scalar ::-                      forall args . Fullfilled "_scatter_minus_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_scatter_minus_scalar(symbol)" args -> IO SymbolHandle-_scatter_minus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_minus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Embedding(symbol)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle)]--_Embedding ::-           forall args . Fullfilled "_Embedding(symbol)" args =>-             String -> ArgsHMap "_Embedding(symbol)" args -> IO SymbolHandle-_Embedding name args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Embedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_SparseEmbedding(symbol)" =-     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle)]--_contrib_SparseEmbedding ::-                         forall args . Fullfilled "_contrib_SparseEmbedding(symbol)" args =>-                           String ->-                             ArgsHMap "_contrib_SparseEmbedding(symbol)" args -> IO SymbolHandle-_contrib_SparseEmbedding name args-  = let scalarArgs-          = catMaybes-              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"])),-               ("sparse_grad",) . showValue <$>-                 (args !? #sparse_grad :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SparseEmbedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Embedding(symbol)" = '[]--_backward_Embedding ::-                    forall args . Fullfilled "_backward_Embedding(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_Embedding(symbol)" args -> IO SymbolHandle-_backward_Embedding name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Embedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SparseEmbedding(symbol)" =-     '[]--_backward_SparseEmbedding ::-                          forall args .-                            Fullfilled "_backward_SparseEmbedding(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_SparseEmbedding(symbol)" args ->-                                IO SymbolHandle-_backward_SparseEmbedding name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SparseEmbedding"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "take(symbol)" =-     '[ '("axis", AttrOpt Int),-        '("mode", AttrOpt (EnumType '["clip", "raise", "wrap"])),-        '("a", AttrOpt SymbolHandle), '("indices", AttrOpt SymbolHandle)]--take ::-     forall args . Fullfilled "take(symbol)" args =>-       String -> ArgsHMap "take(symbol)" args -> IO SymbolHandle-take name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "raise", "wrap"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "take"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_take(symbol)" = '[]--_backward_take ::-               forall args . Fullfilled "_backward_take(symbol)" args =>-                 String -> ArgsHMap "_backward_take(symbol)" args -> IO SymbolHandle-_backward_take name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_take"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "batch_take(symbol)" =-     '[ '("a", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--batch_take ::-           forall args . Fullfilled "batch_take(symbol)" args =>-             String -> ArgsHMap "batch_take(symbol)" args -> IO SymbolHandle-batch_take name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("a",) <$> (args !? #a :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_take"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "one_hot(symbol)" =-     '[ '("depth", AttrReq Int), '("on_value", AttrOpt Double),-        '("off_value", AttrOpt Double),-        '("dtype",-          AttrOpt-            (EnumType-               '["float16", "float32", "float64", "int32", "int64", "int8",-                 "uint8"])),-        '("indices", AttrOpt SymbolHandle)]--one_hot ::-        forall args . Fullfilled "one_hot(symbol)" args =>-          String -> ArgsHMap "one_hot(symbol)" args -> IO SymbolHandle-one_hot name args-  = let scalarArgs-          = catMaybes-              [("depth",) . showValue <$> (args !? #depth :: Maybe Int),-               ("on_value",) . showValue <$> (args !? #on_value :: Maybe Double),-               ("off_value",) . showValue <$>-                 (args !? #off_value :: Maybe Double),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType-                         '["float16", "float32", "float64", "int32", "int64", "int8",-                           "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "one_hot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "gather_nd(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--gather_nd ::-          forall args . Fullfilled "gather_nd(symbol)" args =>-            String -> ArgsHMap "gather_nd(symbol)" args -> IO SymbolHandle-gather_nd name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "gather_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "scatter_nd(symbol)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--scatter_nd ::-           forall args . Fullfilled "scatter_nd(symbol)" args =>-             String -> ArgsHMap "scatter_nd(symbol)" args -> IO SymbolHandle-scatter_nd name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "scatter_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_gather_nd(symbol)" =-     '[ '("shape", AttrReq [Int]), '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--_backward_gather_nd ::-                    forall args . Fullfilled "_backward_gather_nd(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_gather_nd(symbol)" args -> IO SymbolHandle-_backward_gather_nd name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_gather_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_scatter_set_nd(symbol)" =-     '[ '("shape", AttrReq [Int]), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle), '("indices", AttrOpt SymbolHandle)]--_scatter_set_nd ::-                forall args . Fullfilled "_scatter_set_nd(symbol)" args =>-                  String ->-                    ArgsHMap "_scatter_set_nd(symbol)" args -> IO SymbolHandle-_scatter_set_nd name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_scatter_set_nd"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_equal ::-                forall args . Fullfilled "broadcast_equal(symbol)" args =>-                  String ->-                    ArgsHMap "broadcast_equal(symbol)" args -> IO SymbolHandle-broadcast_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_not_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_not_equal ::-                    forall args . Fullfilled "broadcast_not_equal(symbol)" args =>-                      String ->-                        ArgsHMap "broadcast_not_equal(symbol)" args -> IO SymbolHandle-broadcast_not_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_not_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_greater(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_greater ::-                  forall args . Fullfilled "broadcast_greater(symbol)" args =>-                    String ->-                      ArgsHMap "broadcast_greater(symbol)" args -> IO SymbolHandle-broadcast_greater name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_greater_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_greater_equal ::-                        forall args . Fullfilled "broadcast_greater_equal(symbol)" args =>-                          String ->-                            ArgsHMap "broadcast_greater_equal(symbol)" args -> IO SymbolHandle-broadcast_greater_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_greater_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_lesser(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_lesser ::-                 forall args . Fullfilled "broadcast_lesser(symbol)" args =>-                   String ->-                     ArgsHMap "broadcast_lesser(symbol)" args -> IO SymbolHandle-broadcast_lesser name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_lesser_equal(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_lesser_equal ::-                       forall args . Fullfilled "broadcast_lesser_equal(symbol)" args =>-                         String ->-                           ArgsHMap "broadcast_lesser_equal(symbol)" args -> IO SymbolHandle-broadcast_lesser_equal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_lesser_equal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_logical_and(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_logical_and ::-                      forall args . Fullfilled "broadcast_logical_and(symbol)" args =>-                        String ->-                          ArgsHMap "broadcast_logical_and(symbol)" args -> IO SymbolHandle-broadcast_logical_and name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_and"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_logical_or(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_logical_or ::-                     forall args . Fullfilled "broadcast_logical_or(symbol)" args =>-                       String ->-                         ArgsHMap "broadcast_logical_or(symbol)" args -> IO SymbolHandle-broadcast_logical_or name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_or"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_logical_xor(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_logical_xor ::-                      forall args . Fullfilled "broadcast_logical_xor(symbol)" args =>-                        String ->-                          ArgsHMap "broadcast_logical_xor(symbol)" args -> IO SymbolHandle-broadcast_logical_xor name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_logical_xor"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_plus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_plus_scalar ::-             forall args . Fullfilled "_plus_scalar(symbol)" args =>-               String -> ArgsHMap "_plus_scalar(symbol)" args -> IO SymbolHandle-_plus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_plus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_minus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_minus_scalar ::-              forall args . Fullfilled "_minus_scalar(symbol)" args =>-                String -> ArgsHMap "_minus_scalar(symbol)" args -> IO SymbolHandle-_minus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rminus_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rminus_scalar ::-               forall args . Fullfilled "_rminus_scalar(symbol)" args =>-                 String -> ArgsHMap "_rminus_scalar(symbol)" args -> IO SymbolHandle-_rminus_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rminus_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_mul_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_mul_scalar ::-            forall args . Fullfilled "_mul_scalar(symbol)" args =>-              String -> ArgsHMap "_mul_scalar(symbol)" args -> IO SymbolHandle-_mul_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mul_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mul_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_backward_mul_scalar ::-                     forall args . Fullfilled "_backward_mul_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_mul_scalar(symbol)" args -> IO SymbolHandle-_backward_mul_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mul_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_div_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_div_scalar ::-            forall args . Fullfilled "_div_scalar(symbol)" args =>-              String -> ArgsHMap "_div_scalar(symbol)" args -> IO SymbolHandle-_div_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_div_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_div_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_backward_div_scalar ::-                     forall args . Fullfilled "_backward_div_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_div_scalar(symbol)" args -> IO SymbolHandle-_backward_div_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_div_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rdiv_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rdiv_scalar ::-             forall args . Fullfilled "_rdiv_scalar(symbol)" args =>-               String -> ArgsHMap "_rdiv_scalar(symbol)" args -> IO SymbolHandle-_rdiv_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rdiv_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rdiv_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_rdiv_scalar ::-                      forall args . Fullfilled "_backward_rdiv_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_rdiv_scalar(symbol)" args -> IO SymbolHandle-_backward_rdiv_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rdiv_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_mod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_mod_scalar ::-            forall args . Fullfilled "_mod_scalar(symbol)" args =>-              String -> ArgsHMap "_mod_scalar(symbol)" args -> IO SymbolHandle-_mod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_mod_scalar ::-                     forall args . Fullfilled "_backward_mod_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_mod_scalar(symbol)" args -> IO SymbolHandle-_backward_mod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rmod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rmod_scalar ::-             forall args . Fullfilled "_rmod_scalar(symbol)" args =>-               String -> ArgsHMap "_rmod_scalar(symbol)" args -> IO SymbolHandle-_rmod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rmod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rmod_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_rmod_scalar ::-                      forall args . Fullfilled "_backward_rmod_scalar(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_rmod_scalar(symbol)" args -> IO SymbolHandle-_backward_rmod_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rmod_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_ravel_multi_index(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--_ravel_multi_index ::-                   forall args . Fullfilled "_ravel_multi_index(symbol)" args =>-                     String ->-                       ArgsHMap "_ravel_multi_index(symbol)" args -> IO SymbolHandle-_ravel_multi_index name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_ravel_multi_index"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_unravel_index(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--_unravel_index ::-               forall args . Fullfilled "_unravel_index(symbol)" args =>-                 String -> ArgsHMap "_unravel_index(symbol)" args -> IO SymbolHandle-_unravel_index name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_unravel_index"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sum(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--sum ::-    forall args . Fullfilled "sum(symbol)" args =>-      String -> ArgsHMap "sum(symbol)" args -> IO SymbolHandle-sum name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sum(symbol)" = '[]--_backward_sum ::-              forall args . Fullfilled "_backward_sum(symbol)" args =>-                String -> ArgsHMap "_backward_sum(symbol)" args -> IO SymbolHandle-_backward_sum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "mean(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--mean ::-     forall args . Fullfilled "mean(symbol)" args =>-       String -> ArgsHMap "mean(symbol)" args -> IO SymbolHandle-mean name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mean"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mean(symbol)" = '[]--_backward_mean ::-               forall args . Fullfilled "_backward_mean(symbol)" args =>-                 String -> ArgsHMap "_backward_mean(symbol)" args -> IO SymbolHandle-_backward_mean name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mean"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "prod(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--prod ::-     forall args . Fullfilled "prod(symbol)" args =>-       String -> ArgsHMap "prod(symbol)" args -> IO SymbolHandle-prod name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "prod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_prod(symbol)" = '[]--_backward_prod ::-               forall args . Fullfilled "_backward_prod(symbol)" args =>-                 String -> ArgsHMap "_backward_prod(symbol)" args -> IO SymbolHandle-_backward_prod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_prod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "nansum(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--nansum ::-       forall args . Fullfilled "nansum(symbol)" args =>-         String -> ArgsHMap "nansum(symbol)" args -> IO SymbolHandle-nansum name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nansum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_nansum(symbol)" = '[]--_backward_nansum ::-                 forall args . Fullfilled "_backward_nansum(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_nansum(symbol)" args -> IO SymbolHandle-_backward_nansum name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nansum"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "nanprod(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--nanprod ::-        forall args . Fullfilled "nanprod(symbol)" args =>-          String -> ArgsHMap "nanprod(symbol)" args -> IO SymbolHandle-nanprod name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nanprod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_nanprod(symbol)" = '[]--_backward_nanprod ::-                  forall args . Fullfilled "_backward_nanprod(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_nanprod(symbol)" args -> IO SymbolHandle-_backward_nanprod name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_nanprod"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "max(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--max ::-    forall args . Fullfilled "max(symbol)" args =>-      String -> ArgsHMap "max(symbol)" args -> IO SymbolHandle-max name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "max"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_max(symbol)" = '[]--_backward_max ::-              forall args . Fullfilled "_backward_max(symbol)" args =>-                String -> ArgsHMap "_backward_max(symbol)" args -> IO SymbolHandle-_backward_max name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_max"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "min(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("exclude", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--min ::-    forall args . Fullfilled "min(symbol)" args =>-      String -> ArgsHMap "min(symbol)" args -> IO SymbolHandle-min name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "min"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_min(symbol)" = '[]--_backward_min ::-              forall args . Fullfilled "_backward_min(symbol)" args =>-                String -> ArgsHMap "_backward_min(symbol)" args -> IO SymbolHandle-_backward_min name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_min"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_axis(symbol)" =-     '[ '("axis", AttrOpt [Int]), '("size", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--broadcast_axis ::-               forall args . Fullfilled "broadcast_axis(symbol)" args =>-                 String -> ArgsHMap "broadcast_axis(symbol)" args -> IO SymbolHandle-broadcast_axis name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),-               ("size",) . showValue <$> (args !? #size :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_axis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_to(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--broadcast_to ::-             forall args . Fullfilled "broadcast_to(symbol)" args =>-               String -> ArgsHMap "broadcast_to(symbol)" args -> IO SymbolHandle-broadcast_to name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_to"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_broadcast_backward(symbol)" = '[]--_broadcast_backward ::-                    forall args . Fullfilled "_broadcast_backward(symbol)" args =>-                      String ->-                        ArgsHMap "_broadcast_backward(symbol)" args -> IO SymbolHandle-_broadcast_backward name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_broadcast_backward"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "broadcast_like(symbol)" =-     '[ '("lhs_axes", AttrOpt (Maybe [Int])),-        '("rhs_axes", AttrOpt (Maybe [Int])),-        '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--broadcast_like ::-               forall args . Fullfilled "broadcast_like(symbol)" args =>-                 String -> ArgsHMap "broadcast_like(symbol)" args -> IO SymbolHandle-broadcast_like name args-  = let scalarArgs-          = catMaybes-              [("lhs_axes",) . showValue <$>-                 (args !? #lhs_axes :: Maybe (Maybe [Int])),-               ("rhs_axes",) . showValue <$>-                 (args !? #rhs_axes :: Maybe (Maybe [Int]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "broadcast_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "norm(symbol)" =-     '[ '("ord", AttrOpt Int), '("axis", AttrOpt (Maybe [Int])),-        '("out_dtype",-          AttrOpt-            (Maybe-               (EnumType-                  '["float16", "float32", "float64", "int32", "int64", "int8"]))),-        '("keepdims", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--norm ::-     forall args . Fullfilled "norm(symbol)" args =>-       String -> ArgsHMap "norm(symbol)" args -> IO SymbolHandle-norm name args-  = let scalarArgs-          = catMaybes-              [("ord",) . showValue <$> (args !? #ord :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),-               ("out_dtype",) . showValue <$>-                 (args !? #out_dtype ::-                    Maybe-                      (Maybe-                         (EnumType-                            '["float16", "float32", "float64", "int32", "int64", "int8"]))),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "norm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_norm(symbol)" = '[]--_backward_norm ::-               forall args . Fullfilled "_backward_norm(symbol)" args =>-                 String -> ArgsHMap "_backward_norm(symbol)" args -> IO SymbolHandle-_backward_norm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_norm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argmax(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--argmax ::-       forall args . Fullfilled "argmax(symbol)" args =>-         String -> ArgsHMap "argmax(symbol)" args -> IO SymbolHandle-argmax name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argmin(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--argmin ::-       forall args . Fullfilled "argmin(symbol)" args =>-         String -> ArgsHMap "argmin(symbol)" args -> IO SymbolHandle-argmin name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argmax_channel(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--argmax_channel ::-               forall args . Fullfilled "argmax_channel(symbol)" args =>-                 String -> ArgsHMap "argmax_channel(symbol)" args -> IO SymbolHandle-argmax_channel name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argmax_channel"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "pick(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),-        '("mode", AttrOpt (EnumType '["clip", "wrap"])),-        '("data", AttrOpt SymbolHandle), '("index", AttrOpt SymbolHandle)]--pick ::-     forall args . Fullfilled "pick(symbol)" args =>-       String -> ArgsHMap "pick(symbol)" args -> IO SymbolHandle-pick name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["clip", "wrap"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("index",) <$> (args !? #index :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "pick"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_pick(symbol)" = '[]--_backward_pick ::-               forall args . Fullfilled "_backward_pick(symbol)" args =>-                 String -> ArgsHMap "_backward_pick(symbol)" args -> IO SymbolHandle-_backward_pick name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_pick"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sparse_retain(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("indices", AttrOpt SymbolHandle)]--_sparse_retain ::-               forall args . Fullfilled "_sparse_retain(symbol)" args =>-                 String -> ArgsHMap "_sparse_retain(symbol)" args -> IO SymbolHandle-_sparse_retain name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("indices",) <$> (args !? #indices :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_retain"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sparse_retain(symbol)" = '[]--_backward_sparse_retain ::-                        forall args . Fullfilled "_backward_sparse_retain(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_sparse_retain(symbol)" args -> IO SymbolHandle-_backward_sparse_retain name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sparse_retain"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_where(symbol)" =-     '[ '("condition", AttrOpt SymbolHandle),-        '("x", AttrOpt SymbolHandle), '("y", AttrOpt SymbolHandle)]--_where ::-       forall args . Fullfilled "_where(symbol)" args =>-         String -> ArgsHMap "_where(symbol)" args -> IO SymbolHandle-_where name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("condition",) <$> (args !? #condition :: Maybe SymbolHandle),-               ("x",) <$> (args !? #x :: Maybe SymbolHandle),-               ("y",) <$> (args !? #y :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "where"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_where(symbol)" = '[]--_backward_where ::-                forall args . Fullfilled "_backward_where(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_where(symbol)" args -> IO SymbolHandle-_backward_where name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_where"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "diag(symbol)" =-     '[ '("k", AttrOpt Int), '("axis1", AttrOpt Int),-        '("axis2", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--diag ::-     forall args . Fullfilled "diag(symbol)" args =>-       String -> ArgsHMap "diag(symbol)" args -> IO SymbolHandle-diag name args-  = let scalarArgs-          = catMaybes-              [("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("axis1",) . showValue <$> (args !? #axis1 :: Maybe Int),-               ("axis2",) . showValue <$> (args !? #axis2 :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "diag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_diag(symbol)" = '[]--_backward_diag ::-               forall args . Fullfilled "_backward_diag(symbol)" args =>-                 String -> ArgsHMap "_backward_diag(symbol)" args -> IO SymbolHandle-_backward_diag name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_diag"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_maximum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_maximum_scalar ::-                forall args . Fullfilled "_maximum_scalar(symbol)" args =>-                  String ->-                    ArgsHMap "_maximum_scalar(symbol)" args -> IO SymbolHandle-_maximum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_maximum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_maximum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_maximum_scalar ::-                         forall args . Fullfilled "_backward_maximum_scalar(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_maximum_scalar(symbol)" args -> IO SymbolHandle-_backward_maximum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_maximum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_minimum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_minimum_scalar ::-                forall args . Fullfilled "_minimum_scalar(symbol)" args =>-                  String ->-                    ArgsHMap "_minimum_scalar(symbol)" args -> IO SymbolHandle-_minimum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_minimum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_minimum_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_minimum_scalar ::-                         forall args . Fullfilled "_backward_minimum_scalar(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_minimum_scalar(symbol)" args -> IO SymbolHandle-_backward_minimum_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_minimum_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_power_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_power_scalar ::-              forall args . Fullfilled "_power_scalar(symbol)" args =>-                String -> ArgsHMap "_power_scalar(symbol)" args -> IO SymbolHandle-_power_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_power_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_power_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_power_scalar ::-                       forall args . Fullfilled "_backward_power_scalar(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_power_scalar(symbol)" args -> IO SymbolHandle-_backward_power_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_power_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rpower_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_rpower_scalar ::-               forall args . Fullfilled "_rpower_scalar(symbol)" args =>-                 String -> ArgsHMap "_rpower_scalar(symbol)" args -> IO SymbolHandle-_rpower_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_rpower_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_rpower_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_rpower_scalar ::-                        forall args . Fullfilled "_backward_rpower_scalar(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_rpower_scalar(symbol)" args -> IO SymbolHandle-_backward_rpower_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_rpower_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_hypot_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_hypot_scalar ::-              forall args . Fullfilled "_hypot_scalar(symbol)" args =>-                String -> ArgsHMap "_hypot_scalar(symbol)" args -> IO SymbolHandle-_hypot_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_hypot_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_hypot_scalar(symbol)" =-     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_backward_hypot_scalar ::-                       forall args . Fullfilled "_backward_hypot_scalar(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_hypot_scalar(symbol)" args -> IO SymbolHandle-_backward_hypot_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_hypot_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "smooth_l1(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--smooth_l1 ::-          forall args . Fullfilled "smooth_l1(symbol)" args =>-            String -> ArgsHMap "smooth_l1(symbol)" args -> IO SymbolHandle-smooth_l1 name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "smooth_l1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_smooth_l1(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_smooth_l1 ::-                    forall args . Fullfilled "_backward_smooth_l1(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_smooth_l1(symbol)" args -> IO SymbolHandle-_backward_smooth_l1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_smooth_l1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "topk(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("k", AttrOpt Int),-        '("ret_typ",-          AttrOpt (EnumType '["both", "indices", "mask", "value"])),-        '("is_ascend", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt SymbolHandle)]--topk ::-     forall args . Fullfilled "topk(symbol)" args =>-       String -> ArgsHMap "topk(symbol)" args -> IO SymbolHandle-topk name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("k",) . showValue <$> (args !? #k :: Maybe Int),-               ("ret_typ",) . showValue <$>-                 (args !? #ret_typ ::-                    Maybe (EnumType '["both", "indices", "mask", "value"])),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "topk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_topk(symbol)" = '[]--_backward_topk ::-               forall args . Fullfilled "_backward_topk(symbol)" args =>-                 String -> ArgsHMap "_backward_topk(symbol)" args -> IO SymbolHandle-_backward_topk name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_topk"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sort(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--sort ::-     forall args . Fullfilled "sort(symbol)" args =>-       String -> ArgsHMap "sort(symbol)" args -> IO SymbolHandle-sort name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sort"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "argsort(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),-        '("dtype",-          AttrOpt-            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),-        '("data", AttrOpt SymbolHandle)]--argsort ::-        forall args . Fullfilled "argsort(symbol)" args =>-          String -> ArgsHMap "argsort(symbol)" args -> IO SymbolHandle-argsort name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),-               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe-                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "argsort"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Reshape(symbol)" =-     '[ '("shape", AttrOpt [Int]), '("reverse", AttrOpt Bool),-        '("target_shape", AttrOpt [Int]), '("keep_highest", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--_Reshape ::-         forall args . Fullfilled "_Reshape(symbol)" args =>-           String -> ArgsHMap "_Reshape(symbol)" args -> IO SymbolHandle-_Reshape name args-  = let scalarArgs-          = catMaybes-              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),-               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("keep_highest",) . showValue <$>-                 (args !? #keep_highest :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Reshape"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Flatten(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_Flatten ::-         forall args . Fullfilled "_Flatten(symbol)" args =>-           String -> ArgsHMap "_Flatten(symbol)" args -> IO SymbolHandle-_Flatten name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Flatten"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "transpose(symbol)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--transpose ::-          forall args . Fullfilled "transpose(symbol)" args =>-            String -> ArgsHMap "transpose(symbol)" args -> IO SymbolHandle-transpose name args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "transpose"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "expand_dims(symbol)" =-     '[ '("axis", AttrReq Int), '("data", AttrOpt SymbolHandle)]--expand_dims ::-            forall args . Fullfilled "expand_dims(symbol)" args =>-              String -> ArgsHMap "expand_dims(symbol)" args -> IO SymbolHandle-expand_dims name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "expand_dims"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "slice(symbol)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--slice ::-      forall args . Fullfilled "slice(symbol)" args =>-        String -> ArgsHMap "slice(symbol)" args -> IO SymbolHandle-slice name args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_slice(symbol)" = '[]--_backward_slice ::-                forall args . Fullfilled "_backward_slice(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_slice(symbol)" args -> IO SymbolHandle-_backward_slice name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_slice_assign(symbol)" =-     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),-        '("step", AttrOpt [Int]), '("lhs", AttrOpt SymbolHandle),-        '("rhs", AttrOpt SymbolHandle)]--_slice_assign ::-              forall args . Fullfilled "_slice_assign(symbol)" args =>-                String -> ArgsHMap "_slice_assign(symbol)" args -> IO SymbolHandle-_slice_assign name args-  = let scalarArgs-          = catMaybes-              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_slice_assign_scalar(symbol)" =-     '[ '("scalar", AttrOpt Double), '("begin", AttrReq [Int]),-        '("end", AttrReq [Int]), '("step", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--_slice_assign_scalar ::-                     forall args . Fullfilled "_slice_assign_scalar(symbol)" args =>-                       String ->-                         ArgsHMap "_slice_assign_scalar(symbol)" args -> IO SymbolHandle-_slice_assign_scalar name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Double),-               ("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),-               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),-               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_slice_assign_scalar"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "slice_axis(symbol)" =-     '[ '("axis", AttrReq Int), '("begin", AttrReq Int),-        '("end", AttrReq (Maybe Int)), '("data", AttrOpt SymbolHandle)]--slice_axis ::-           forall args . Fullfilled "slice_axis(symbol)" args =>-             String -> ArgsHMap "slice_axis(symbol)" args -> IO SymbolHandle-slice_axis name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("begin",) . showValue <$> (args !? #begin :: Maybe Int),-               ("end",) . showValue <$> (args !? #end :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_axis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_slice_axis(symbol)" = '[]--_backward_slice_axis ::-                     forall args . Fullfilled "_backward_slice_axis(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_slice_axis(symbol)" args -> IO SymbolHandle-_backward_slice_axis name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_axis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "slice_like(symbol)" =-     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt SymbolHandle),-        '("shape_like", AttrOpt SymbolHandle)]--slice_like ::-           forall args . Fullfilled "slice_like(symbol)" args =>-             String -> ArgsHMap "slice_like(symbol)" args -> IO SymbolHandle-slice_like name args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("shape_like",) <$> (args !? #shape_like :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "slice_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_slice_like(symbol)" = '[]--_backward_slice_like ::-                     forall args . Fullfilled "_backward_slice_like(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_slice_like(symbol)" args -> IO SymbolHandle-_backward_slice_like name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_slice_like"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "clip(symbol)" =-     '[ '("a_min", AttrReq Float), '("a_max", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--clip ::-     forall args . Fullfilled "clip(symbol)" args =>-       String -> ArgsHMap "clip(symbol)" args -> IO SymbolHandle-clip name args-  = let scalarArgs-          = catMaybes-              [("a_min",) . showValue <$> (args !? #a_min :: Maybe Float),-               ("a_max",) . showValue <$> (args !? #a_max :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "clip"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_clip(symbol)" = '[]--_backward_clip ::-               forall args . Fullfilled "_backward_clip(symbol)" args =>-                 String -> ArgsHMap "_backward_clip(symbol)" args -> IO SymbolHandle-_backward_clip name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_clip"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "repeat(symbol)" =-     '[ '("repeats", AttrReq Int), '("axis", AttrOpt (Maybe Int)),-        '("data", AttrOpt SymbolHandle)]--repeat ::-       forall args . Fullfilled "repeat(symbol)" args =>-         String -> ArgsHMap "repeat(symbol)" args -> IO SymbolHandle-repeat name args-  = let scalarArgs-          = catMaybes-              [("repeats",) . showValue <$> (args !? #repeats :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "repeat"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_repeat(symbol)" = '[]--_backward_repeat ::-                 forall args . Fullfilled "_backward_repeat(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_repeat(symbol)" args -> IO SymbolHandle-_backward_repeat name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_repeat"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "tile(symbol)" =-     '[ '("reps", AttrReq [Int]), '("data", AttrOpt SymbolHandle)]--tile ::-     forall args . Fullfilled "tile(symbol)" args =>-       String -> ArgsHMap "tile(symbol)" args -> IO SymbolHandle-tile name args-  = let scalarArgs-          = catMaybes-              [("reps",) . showValue <$> (args !? #reps :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tile"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_tile(symbol)" = '[]--_backward_tile ::-               forall args . Fullfilled "_backward_tile(symbol)" args =>-                 String -> ArgsHMap "_backward_tile(symbol)" args -> IO SymbolHandle-_backward_tile name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tile"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "reverse(symbol)" =-     '[ '("axis", AttrReq [Int]), '("data", AttrOpt SymbolHandle)]--reverse ::-        forall args . Fullfilled "reverse(symbol)" args =>-          String -> ArgsHMap "reverse(symbol)" args -> IO SymbolHandle-reverse name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "reverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_reverse(symbol)" = '[]--_backward_reverse ::-                  forall args . Fullfilled "_backward_reverse(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_reverse(symbol)" args -> IO SymbolHandle-_backward_reverse name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_reverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "stack(symbol)" =-     '[ '("axis", AttrOpt Int), '("num_args", AttrReq Int),-        '("data", AttrOpt [SymbolHandle])]--stack ::-      forall args . Fullfilled "stack(symbol)" args =>-        String -> ArgsHMap "stack(symbol)" args -> IO SymbolHandle-stack name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "stack"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_stack(symbol)" = '[]--_backward_stack ::-                forall args . Fullfilled "_backward_stack(symbol)" args =>-                  String ->-                    ArgsHMap "_backward_stack(symbol)" args -> IO SymbolHandle-_backward_stack name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_stack"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "squeeze(symbol)" =-     '[ '("axis", AttrOpt (Maybe [Int])),-        '("data", AttrOpt [SymbolHandle])]--squeeze ::-        forall args . Fullfilled "squeeze(symbol)" args =>-          String -> ArgsHMap "squeeze(symbol)" args -> IO SymbolHandle-squeeze name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "squeeze"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_squeeze(symbol)" = '[]--_backward_squeeze ::-                  forall args . Fullfilled "_backward_squeeze(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_squeeze(symbol)" args -> IO SymbolHandle-_backward_squeeze name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_squeeze"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "depth_to_space(symbol)" =-     '[ '("block_size", AttrReq Int), '("data", AttrOpt SymbolHandle)]--depth_to_space ::-               forall args . Fullfilled "depth_to_space(symbol)" args =>-                 String -> ArgsHMap "depth_to_space(symbol)" args -> IO SymbolHandle-depth_to_space name args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "depth_to_space"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "space_to_depth(symbol)" =-     '[ '("block_size", AttrReq Int), '("data", AttrOpt SymbolHandle)]--space_to_depth ::-               forall args . Fullfilled "space_to_depth(symbol)" args =>-                 String -> ArgsHMap "space_to_depth(symbol)" args -> IO SymbolHandle-space_to_depth name args-  = let scalarArgs-          = catMaybes-              [("block_size",) . showValue <$>-                 (args !? #block_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "space_to_depth"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_split_v2(symbol)" =-     '[ '("indices", AttrReq [Int]), '("axis", AttrOpt Int),-        '("squeeze_axis", AttrOpt Bool), '("sections", AttrOpt Int),-        '("data", AttrOpt SymbolHandle)]--_split_v2 ::-          forall args . Fullfilled "_split_v2(symbol)" args =>-            String -> ArgsHMap "_split_v2(symbol)" args -> IO SymbolHandle-_split_v2 name args-  = let scalarArgs-          = catMaybes-              [("indices",) . showValue <$> (args !? #indices :: Maybe [Int]),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool),-               ("sections",) . showValue <$> (args !? #sections :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_split_v2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_split_v2_backward(symbol)" = '[]--_split_v2_backward ::-                   forall args . Fullfilled "_split_v2_backward(symbol)" args =>-                     String ->-                       ArgsHMap "_split_v2_backward(symbol)" args -> IO SymbolHandle-_split_v2_backward name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_split_v2_backward"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "dot(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),-        '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--dot ::-    forall args . Fullfilled "dot(symbol)" args =>-      String -> ArgsHMap "dot(symbol)" args -> IO SymbolHandle-dot name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_dot(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"])))]--_backward_dot ::-              forall args . Fullfilled "_backward_dot(symbol)" args =>-                String -> ArgsHMap "_backward_dot(symbol)" args -> IO SymbolHandle-_backward_dot name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "batch_dot(symbol)" =-     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),-        '("forward_stype",-          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),-        '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--batch_dot ::-          forall args . Fullfilled "batch_dot(symbol)" args =>-            String -> ArgsHMap "batch_dot(symbol)" args -> IO SymbolHandle-batch_dot name args-  = let scalarArgs-          = catMaybes-              [("transpose_a",) . showValue <$>-                 (args !? #transpose_a :: Maybe Bool),-               ("transpose_b",) . showValue <$>-                 (args !? #transpose_b :: Maybe Bool),-               ("forward_stype",) . showValue <$>-                 (args !? #forward_stype ::-                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "batch_dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_batch_dot(symbol)" = '[]--_backward_batch_dot ::-                    forall args . Fullfilled "_backward_batch_dot(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_batch_dot(symbol)" args -> IO SymbolHandle-_backward_batch_dot name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_batch_dot"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sin(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sin ::-    forall args . Fullfilled "sin(symbol)" args =>-      String -> ArgsHMap "sin(symbol)" args -> IO SymbolHandle-sin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sin(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sin ::-              forall args . Fullfilled "_backward_sin(symbol)" args =>-                String -> ArgsHMap "_backward_sin(symbol)" args -> IO SymbolHandle-_backward_sin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cos(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--cos ::-    forall args . Fullfilled "cos(symbol)" args =>-      String -> ArgsHMap "cos(symbol)" args -> IO SymbolHandle-cos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cos(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_cos ::-              forall args . Fullfilled "_backward_cos(symbol)" args =>-                String -> ArgsHMap "_backward_cos(symbol)" args -> IO SymbolHandle-_backward_cos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "tan(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--tan ::-    forall args . Fullfilled "tan(symbol)" args =>-      String -> ArgsHMap "tan(symbol)" args -> IO SymbolHandle-tan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_tan(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_tan ::-              forall args . Fullfilled "_backward_tan(symbol)" args =>-                String -> ArgsHMap "_backward_tan(symbol)" args -> IO SymbolHandle-_backward_tan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arcsin(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arcsin ::-       forall args . Fullfilled "arcsin(symbol)" args =>-         String -> ArgsHMap "arcsin(symbol)" args -> IO SymbolHandle-arcsin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arcsin(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arcsin ::-                 forall args . Fullfilled "_backward_arcsin(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_arcsin(symbol)" args -> IO SymbolHandle-_backward_arcsin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arccos(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arccos ::-       forall args . Fullfilled "arccos(symbol)" args =>-         String -> ArgsHMap "arccos(symbol)" args -> IO SymbolHandle-arccos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arccos(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arccos ::-                 forall args . Fullfilled "_backward_arccos(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_arccos(symbol)" args -> IO SymbolHandle-_backward_arccos name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccos"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arctan(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arctan ::-       forall args . Fullfilled "arctan(symbol)" args =>-         String -> ArgsHMap "arctan(symbol)" args -> IO SymbolHandle-arctan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arctan(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arctan ::-                 forall args . Fullfilled "_backward_arctan(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_arctan(symbol)" args -> IO SymbolHandle-_backward_arctan name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctan"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "degrees(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--degrees ::-        forall args . Fullfilled "degrees(symbol)" args =>-          String -> ArgsHMap "degrees(symbol)" args -> IO SymbolHandle-degrees name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "degrees"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_degrees(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_degrees ::-                  forall args . Fullfilled "_backward_degrees(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_degrees(symbol)" args -> IO SymbolHandle-_backward_degrees name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_degrees"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "radians(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--radians ::-        forall args . Fullfilled "radians(symbol)" args =>-          String -> ArgsHMap "radians(symbol)" args -> IO SymbolHandle-radians name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "radians"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_radians(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_radians ::-                  forall args . Fullfilled "_backward_radians(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_radians(symbol)" args -> IO SymbolHandle-_backward_radians name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_radians"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sinh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--sinh ::-     forall args . Fullfilled "sinh(symbol)" args =>-       String -> ArgsHMap "sinh(symbol)" args -> IO SymbolHandle-sinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_sinh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_sinh ::-               forall args . Fullfilled "_backward_sinh(symbol)" args =>-                 String -> ArgsHMap "_backward_sinh(symbol)" args -> IO SymbolHandle-_backward_sinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_sinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "cosh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--cosh ::-     forall args . Fullfilled "cosh(symbol)" args =>-       String -> ArgsHMap "cosh(symbol)" args -> IO SymbolHandle-cosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "cosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cosh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_cosh ::-               forall args . Fullfilled "_backward_cosh(symbol)" args =>-                 String -> ArgsHMap "_backward_cosh(symbol)" args -> IO SymbolHandle-_backward_cosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "tanh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--tanh ::-     forall args . Fullfilled "tanh(symbol)" args =>-       String -> ArgsHMap "tanh(symbol)" args -> IO SymbolHandle-tanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "tanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_tanh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_tanh ::-               forall args . Fullfilled "_backward_tanh(symbol)" args =>-                 String -> ArgsHMap "_backward_tanh(symbol)" args -> IO SymbolHandle-_backward_tanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_tanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arcsinh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arcsinh ::-        forall args . Fullfilled "arcsinh(symbol)" args =>-          String -> ArgsHMap "arcsinh(symbol)" args -> IO SymbolHandle-arcsinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arcsinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arcsinh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arcsinh ::-                  forall args . Fullfilled "_backward_arcsinh(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_arcsinh(symbol)" args -> IO SymbolHandle-_backward_arcsinh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arcsinh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arccosh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arccosh ::-        forall args . Fullfilled "arccosh(symbol)" args =>-          String -> ArgsHMap "arccosh(symbol)" args -> IO SymbolHandle-arccosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arccosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arccosh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arccosh ::-                  forall args . Fullfilled "_backward_arccosh(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_arccosh(symbol)" args -> IO SymbolHandle-_backward_arccosh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arccosh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "arctanh(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--arctanh ::-        forall args . Fullfilled "arctanh(symbol)" args =>-          String -> ArgsHMap "arctanh(symbol)" args -> IO SymbolHandle-arctanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "arctanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_arctanh(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_backward_arctanh ::-                  forall args . Fullfilled "_backward_arctanh(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_arctanh(symbol)" args -> IO SymbolHandle-_backward_arctanh name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_arctanh"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "khatri_rao(symbol)" =-     '[ '("args", AttrOpt [SymbolHandle])]--khatri_rao ::-           forall args . Fullfilled "khatri_rao(symbol)" args =>-             String -> ArgsHMap "khatri_rao(symbol)" args -> IO SymbolHandle-khatri_rao name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "khatri_rao"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_contrib_group_adagrad_update(symbol)"-     =-     '[ '("lr", AttrReq Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("history", AttrOpt SymbolHandle)]--_contrib_group_adagrad_update ::-                              forall args .-                                Fullfilled "_contrib_group_adagrad_update(symbol)" args =>-                                String ->-                                  ArgsHMap "_contrib_group_adagrad_update(symbol)" args ->-                                    IO SymbolHandle-_contrib_group_adagrad_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("history",) <$> (args !? #history :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_group_adagrad_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_getnnz(symbol)" =-     '[ '("axis", AttrOpt (Maybe Int)), '("data", AttrOpt SymbolHandle)]--_contrib_getnnz ::-                forall args . Fullfilled "_contrib_getnnz(symbol)" args =>-                  String ->-                    ArgsHMap "_contrib_getnnz(symbol)" args -> IO SymbolHandle-_contrib_getnnz name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_getnnz"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_gradientmultiplier(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_contrib_gradientmultiplier ::-                            forall args .-                              Fullfilled "_contrib_gradientmultiplier(symbol)" args =>-                              String ->-                                ArgsHMap "_contrib_gradientmultiplier(symbol)" args ->-                                  IO SymbolHandle-_contrib_gradientmultiplier name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_gradientmultiplier"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_contrib_backward_gradientmultiplier(symbol)" =-     '[ '("scalar", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_contrib_backward_gradientmultiplier ::-                                     forall args .-                                       Fullfilled "_contrib_backward_gradientmultiplier(symbol)"-                                         args =>-                                       String ->-                                         ArgsHMap "_contrib_backward_gradientmultiplier(symbol)"-                                           args-                                           -> IO SymbolHandle-_contrib_backward_gradientmultiplier name args-  = let scalarArgs-          = catMaybes-              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_gradientmultiplier"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_edge_id(symbol)" =-     '[ '("data", AttrOpt SymbolHandle), '("u", AttrOpt SymbolHandle),-        '("v", AttrOpt SymbolHandle)]--_contrib_edge_id ::-                 forall args . Fullfilled "_contrib_edge_id(symbol)" args =>-                   String ->-                     ArgsHMap "_contrib_edge_id(symbol)" args -> IO SymbolHandle-_contrib_edge_id name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("u",) <$> (args !? #u :: Maybe SymbolHandle),-               ("v",) <$> (args !? #v :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_edge_id"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_dgl_adjacency(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_contrib_dgl_adjacency ::-                       forall args . Fullfilled "_contrib_dgl_adjacency(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_dgl_adjacency(symbol)" args -> IO SymbolHandle-_contrib_dgl_adjacency name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dgl_adjacency"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_hawkesll(symbol)" =-     '[ '("lda", AttrOpt SymbolHandle),-        '("alpha", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle),-        '("state", AttrOpt SymbolHandle), '("lags", AttrOpt SymbolHandle),-        '("marks", AttrOpt SymbolHandle),-        '("valid_length", AttrOpt SymbolHandle),-        '("max_time", AttrOpt SymbolHandle)]--_contrib_hawkesll ::-                  forall args . Fullfilled "_contrib_hawkesll(symbol)" args =>-                    String ->-                      ArgsHMap "_contrib_hawkesll(symbol)" args -> IO SymbolHandle-_contrib_hawkesll name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lda",) <$> (args !? #lda :: Maybe SymbolHandle),-               ("alpha",) <$> (args !? #alpha :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle),-               ("state",) <$> (args !? #state :: Maybe SymbolHandle),-               ("lags",) <$> (args !? #lags :: Maybe SymbolHandle),-               ("marks",) <$> (args !? #marks :: Maybe SymbolHandle),-               ("valid_length",) <$>-                 (args !? #valid_length :: Maybe SymbolHandle),-               ("max_time",) <$> (args !? #max_time :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_hawkesll"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_backward_hawkesll(symbol)" =-     '[]--_contrib_backward_hawkesll ::-                           forall args .-                             Fullfilled "_contrib_backward_hawkesll(symbol)" args =>-                             String ->-                               ArgsHMap "_contrib_backward_hawkesll(symbol)" args ->-                                 IO SymbolHandle-_contrib_backward_hawkesll name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_hawkesll"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_mp_adamw_update(symbol)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("eta", AttrReq Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mean", AttrOpt SymbolHandle), '("var", AttrOpt SymbolHandle),-        '("weight32", AttrOpt SymbolHandle),-        '("rescale_grad", AttrOpt SymbolHandle)]--_mp_adamw_update ::-                 forall args . Fullfilled "_mp_adamw_update(symbol)" args =>-                   String ->-                     ArgsHMap "_mp_adamw_update(symbol)" args -> IO SymbolHandle-_mp_adamw_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("eta",) . showValue <$> (args !? #eta :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mean",) <$> (args !? #mean :: Maybe SymbolHandle),-               ("var",) <$> (args !? #var :: Maybe SymbolHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe SymbolHandle),-               ("rescale_grad",) <$>-                 (args !? #rescale_grad :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_mp_adamw_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_adamw_update(symbol)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("eta", AttrReq Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mean", AttrOpt SymbolHandle), '("var", AttrOpt SymbolHandle),-        '("rescale_grad", AttrOpt SymbolHandle)]--_adamw_update ::-              forall args . Fullfilled "_adamw_update(symbol)" args =>-                String -> ArgsHMap "_adamw_update(symbol)" args -> IO SymbolHandle-_adamw_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("eta",) . showValue <$> (args !? #eta :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mean",) <$> (args !? #mean :: Maybe SymbolHandle),-               ("var",) <$> (args !? #var :: Maybe SymbolHandle),-               ("rescale_grad",) <$>-                 (args !? #rescale_grad :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_adamw_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quadratic(symbol)" =-     '[ '("a", AttrOpt Float), '("b", AttrOpt Float),-        '("c", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_contrib_quadratic ::-                   forall args . Fullfilled "_contrib_quadratic(symbol)" args =>-                     String ->-                       ArgsHMap "_contrib_quadratic(symbol)" args -> IO SymbolHandle-_contrib_quadratic name args-  = let scalarArgs-          = catMaybes-              [("a",) . showValue <$> (args !? #a :: Maybe Float),-               ("b",) . showValue <$> (args !? #b :: Maybe Float),-               ("c",) . showValue <$> (args !? #c :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quadratic"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_backward_quadratic(symbol)" =-     '[]--_contrib_backward_quadratic ::-                            forall args .-                              Fullfilled "_contrib_backward_quadratic(symbol)" args =>-                              String ->-                                ArgsHMap "_contrib_backward_quadratic(symbol)" args ->-                                  IO SymbolHandle-_contrib_backward_quadratic name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_quadratic"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_div_sqrt_dim(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_contrib_div_sqrt_dim ::-                      forall args . Fullfilled "_contrib_div_sqrt_dim(symbol)" args =>-                        String ->-                          ArgsHMap "_contrib_div_sqrt_dim(symbol)" args -> IO SymbolHandle-_contrib_div_sqrt_dim name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_div_sqrt_dim"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "multi_all_finite(symbol)" =-     '[ '("num_arrays", AttrOpt Int), '("init_output", AttrOpt Bool),-        '("data", AttrOpt [SymbolHandle])]--multi_all_finite ::-                 forall args . Fullfilled "multi_all_finite(symbol)" args =>-                   String ->-                     ArgsHMap "multi_all_finite(symbol)" args -> IO SymbolHandle-multi_all_finite name args-  = let scalarArgs-          = catMaybes-              [("num_arrays",) . showValue <$>-                 (args !? #num_arrays :: Maybe Int),-               ("init_output",) . showValue <$>-                 (args !? #init_output :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "multi_all_finite"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_contrib_index_array(symbol)" =-     '[ '("axes", AttrOpt (Maybe [Int])),-        '("data", AttrOpt SymbolHandle)]--_contrib_index_array ::-                     forall args . Fullfilled "_contrib_index_array(symbol)" args =>-                       String ->-                         ArgsHMap "_contrib_index_array(symbol)" args -> IO SymbolHandle-_contrib_index_array name args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe (Maybe [Int]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_index_array"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_index_copy(symbol)" =-     '[ '("old_tensor", AttrOpt SymbolHandle),-        '("index_vector", AttrOpt SymbolHandle),-        '("new_tensor", AttrOpt SymbolHandle)]--_contrib_index_copy ::-                    forall args . Fullfilled "_contrib_index_copy(symbol)" args =>-                      String ->-                        ArgsHMap "_contrib_index_copy(symbol)" args -> IO SymbolHandle-_contrib_index_copy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("old_tensor",) <$> (args !? #old_tensor :: Maybe SymbolHandle),-               ("index_vector",) <$>-                 (args !? #index_vector :: Maybe SymbolHandle),-               ("new_tensor",) <$> (args !? #new_tensor :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_index_copy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_backward_index_copy(symbol)"-     = '[]--_contrib_backward_index_copy ::-                             forall args .-                               Fullfilled "_contrib_backward_index_copy(symbol)" args =>-                               String ->-                                 ArgsHMap "_contrib_backward_index_copy(symbol)" args ->-                                   IO SymbolHandle-_contrib_backward_index_copy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_backward_index_copy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_ROIAlign(symbol)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float), '("sample_ratio", AttrOpt Int),-        '("position_sensitive", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle), '("rois", AttrOpt SymbolHandle)]--_contrib_ROIAlign ::-                  forall args . Fullfilled "_contrib_ROIAlign(symbol)" args =>-                    String ->-                      ArgsHMap "_contrib_ROIAlign(symbol)" args -> IO SymbolHandle-_contrib_ROIAlign name args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("sample_ratio",) . showValue <$>-                 (args !? #sample_ratio :: Maybe Int),-               ("position_sensitive",) . showValue <$>-                 (args !? #position_sensitive :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ROIAlign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_ROIAlign(symbol)" = '[]--_backward_ROIAlign ::-                   forall args . Fullfilled "_backward_ROIAlign(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_ROIAlign(symbol)" args -> IO SymbolHandle-_backward_ROIAlign name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIAlign"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_box_nms(symbol)" =-     '[ '("overlap_thresh", AttrOpt Float),-        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),-        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),-        '("id_index", AttrOpt Int), '("background_id", AttrOpt Int),-        '("force_suppress", AttrOpt Bool),-        '("in_format", AttrOpt (EnumType '["center", "corner"])),-        '("out_format", AttrOpt (EnumType '["center", "corner"])),-        '("data", AttrOpt SymbolHandle)]--_contrib_box_nms ::-                 forall args . Fullfilled "_contrib_box_nms(symbol)" args =>-                   String ->-                     ArgsHMap "_contrib_box_nms(symbol)" args -> IO SymbolHandle-_contrib_box_nms name args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_nms"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_contrib_box_nms(symbol)" =-     '[ '("overlap_thresh", AttrOpt Float),-        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),-        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),-        '("id_index", AttrOpt Int), '("background_id", AttrOpt Int),-        '("force_suppress", AttrOpt Bool),-        '("in_format", AttrOpt (EnumType '["center", "corner"])),-        '("out_format", AttrOpt (EnumType '["center", "corner"]))]--_backward_contrib_box_nms ::-                          forall args .-                            Fullfilled "_backward_contrib_box_nms(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_contrib_box_nms(symbol)" args ->-                                IO SymbolHandle-_backward_contrib_box_nms name args-  = let scalarArgs-          = catMaybes-              [("overlap_thresh",) . showValue <$>-                 (args !? #overlap_thresh :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),-               ("coord_start",) . showValue <$>-                 (args !? #coord_start :: Maybe Int),-               ("score_index",) . showValue <$>-                 (args !? #score_index :: Maybe Int),-               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("in_format",) . showValue <$>-                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),-               ("out_format",) . showValue <$>-                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_nms"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_box_iou(symbol)" =-     '[ '("format", AttrOpt (EnumType '["center", "corner"])),-        '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle)]--_contrib_box_iou ::-                 forall args . Fullfilled "_contrib_box_iou(symbol)" args =>-                   String ->-                     ArgsHMap "_contrib_box_iou(symbol)" args -> IO SymbolHandle-_contrib_box_iou name args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_box_iou"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_contrib_box_iou(symbol)" =-     '[ '("format", AttrOpt (EnumType '["center", "corner"]))]--_backward_contrib_box_iou ::-                          forall args .-                            Fullfilled "_backward_contrib_box_iou(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_contrib_box_iou(symbol)" args ->-                                IO SymbolHandle-_backward_contrib_box_iou name args-  = let scalarArgs-          = catMaybes-              [("format",) . showValue <$>-                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_box_iou"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_bipartite_matching(symbol)" =-     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),-        '("topk", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--_contrib_bipartite_matching ::-                            forall args .-                              Fullfilled "_contrib_bipartite_matching(symbol)" args =>-                              String ->-                                ArgsHMap "_contrib_bipartite_matching(symbol)" args ->-                                  IO SymbolHandle-_contrib_bipartite_matching name args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_bipartite_matching"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_contrib_bipartite_matching(symbol)" =-     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),-        '("topk", AttrOpt Int)]--_backward_contrib_bipartite_matching ::-                                     forall args .-                                       Fullfilled "_backward_contrib_bipartite_matching(symbol)"-                                         args =>-                                       String ->-                                         ArgsHMap "_backward_contrib_bipartite_matching(symbol)"-                                           args-                                           -> IO SymbolHandle-_backward_contrib_bipartite_matching name args-  = let scalarArgs-          = catMaybes-              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_bipartite_matching"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_BilinearResize2D(symbol)" =-     '[ '("height", AttrOpt Int), '("width", AttrOpt Int),-        '("scale_height", AttrOpt (Maybe Float)),-        '("scale_width", AttrOpt (Maybe Float)),-        '("mode",-          AttrOpt-            (EnumType-               '["like", "odd_scale", "size", "to_even_down", "to_even_up",-                 "to_odd_down", "to_odd_up"])),-        '("data", AttrOpt SymbolHandle), '("like", AttrOpt SymbolHandle)]--_contrib_BilinearResize2D ::-                          forall args .-                            Fullfilled "_contrib_BilinearResize2D(symbol)" args =>-                            String ->-                              ArgsHMap "_contrib_BilinearResize2D(symbol)" args ->-                                IO SymbolHandle-_contrib_BilinearResize2D name args-  = let scalarArgs-          = catMaybes-              [("height",) . showValue <$> (args !? #height :: Maybe Int),-               ("width",) . showValue <$> (args !? #width :: Maybe Int),-               ("scale_height",) . showValue <$>-                 (args !? #scale_height :: Maybe (Maybe Float)),-               ("scale_width",) . showValue <$>-                 (args !? #scale_width :: Maybe (Maybe Float)),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe-                      (EnumType-                         '["like", "odd_scale", "size", "to_even_down", "to_even_up",-                           "to_odd_down", "to_odd_up"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("like",) <$> (args !? #like :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_BilinearResize2D"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_contrib_BilinearResize2D(symbol)" = '[]--_backward_contrib_BilinearResize2D ::-                                   forall args .-                                     Fullfilled "_backward_contrib_BilinearResize2D(symbol)" args =>-                                     String ->-                                       ArgsHMap "_backward_contrib_BilinearResize2D(symbol)" args ->-                                         IO SymbolHandle-_backward_contrib_BilinearResize2D name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_BilinearResize2D"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_boolean_mask(symbol)" =-     '[ '("axis", AttrOpt Int), '("data", AttrOpt SymbolHandle),-        '("index", AttrOpt SymbolHandle)]--_contrib_boolean_mask ::-                      forall args . Fullfilled "_contrib_boolean_mask(symbol)" args =>-                        String ->-                          ArgsHMap "_contrib_boolean_mask(symbol)" args -> IO SymbolHandle-_contrib_boolean_mask name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("index",) <$> (args !? #index :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_boolean_mask"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_contrib_boolean_mask(symbol)" =-     '[ '("axis", AttrOpt Int)]--_backward_contrib_boolean_mask ::-                               forall args .-                                 Fullfilled "_backward_contrib_boolean_mask(symbol)" args =>-                                 String ->-                                   ArgsHMap "_backward_contrib_boolean_mask(symbol)" args ->-                                     IO SymbolHandle-_backward_contrib_boolean_mask name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_boolean_mask"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_SyncBatchNorm(symbol)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("ndev", AttrOpt Int),-        '("key", AttrReq String), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle),-        '("moving_mean", AttrOpt SymbolHandle),-        '("moving_var", AttrOpt SymbolHandle)]--_contrib_SyncBatchNorm ::-                       forall args . Fullfilled "_contrib_SyncBatchNorm(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_SyncBatchNorm(symbol)" args -> IO SymbolHandle-_contrib_SyncBatchNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("ndev",) . showValue <$> (args !? #ndev :: Maybe Int),-               ("key",) . showValue <$> (args !? #key :: Maybe String)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe SymbolHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_SyncBatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_AdaptiveAvgPooling2D(symbol)"-     =-     '[ '("output_size", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--_contrib_AdaptiveAvgPooling2D ::-                              forall args .-                                Fullfilled "_contrib_AdaptiveAvgPooling2D(symbol)" args =>-                                String ->-                                  ArgsHMap "_contrib_AdaptiveAvgPooling2D(symbol)" args ->-                                    IO SymbolHandle-_contrib_AdaptiveAvgPooling2D name args-  = let scalarArgs-          = catMaybes-              [("output_size",) . showValue <$>-                 (args !? #output_size :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_AdaptiveAvgPooling2D"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_contrib_AdaptiveAvgPooling2D(symbol)" =-     '[]--_backward_contrib_AdaptiveAvgPooling2D ::-                                       forall args .-                                         Fullfilled "_backward_contrib_AdaptiveAvgPooling2D(symbol)"-                                           args =>-                                         String ->-                                           ArgsHMap "_backward_contrib_AdaptiveAvgPooling2D(symbol)"-                                             args-                                             -> IO SymbolHandle-_backward_contrib_AdaptiveAvgPooling2D name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_contrib_AdaptiveAvgPooling2D"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_crop(symbol)" =-     '[ '("x", AttrReq Int), '("y", AttrReq Int),-        '("width", AttrReq Int), '("height", AttrReq Int),-        '("data", AttrOpt SymbolHandle)]--_image_crop ::-            forall args . Fullfilled "_image_crop(symbol)" args =>-              String -> ArgsHMap "_image_crop(symbol)" args -> IO SymbolHandle-_image_crop name args-  = let scalarArgs-          = catMaybes-              [("x",) . showValue <$> (args !? #x :: Maybe Int),-               ("y",) . showValue <$> (args !? #y :: Maybe Int),-               ("width",) . showValue <$> (args !? #width :: Maybe Int),-               ("height",) . showValue <$> (args !? #height :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_crop"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_image_crop(symbol)" = '[]--_backward_image_crop ::-                     forall args . Fullfilled "_backward_image_crop(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_image_crop(symbol)" args -> IO SymbolHandle-_backward_image_crop name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_image_crop"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_to_tensor(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_image_to_tensor ::-                 forall args . Fullfilled "_image_to_tensor(symbol)" args =>-                   String ->-                     ArgsHMap "_image_to_tensor(symbol)" args -> IO SymbolHandle-_image_to_tensor name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_to_tensor"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_normalize(symbol)" =-     '[ '("mean", AttrOpt [Float]), '("std", AttrOpt [Float]),-        '("data", AttrOpt SymbolHandle)]--_image_normalize ::-                 forall args . Fullfilled "_image_normalize(symbol)" args =>-                   String ->-                     ArgsHMap "_image_normalize(symbol)" args -> IO SymbolHandle-_image_normalize name args-  = let scalarArgs-          = catMaybes-              [("mean",) . showValue <$> (args !? #mean :: Maybe [Float]),-               ("std",) . showValue <$> (args !? #std :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_normalize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_image_normalize(symbol)" =-     '[]--_backward_image_normalize ::-                          forall args .-                            Fullfilled "_backward_image_normalize(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_image_normalize(symbol)" args ->-                                IO SymbolHandle-_backward_image_normalize name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_image_normalize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_flip_left_right(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_image_flip_left_right ::-                       forall args . Fullfilled "_image_flip_left_right(symbol)" args =>-                         String ->-                           ArgsHMap "_image_flip_left_right(symbol)" args -> IO SymbolHandle-_image_flip_left_right name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_left_right"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_flip_left_right(symbol)"-     = '[ '("data", AttrOpt SymbolHandle)]--_image_random_flip_left_right ::-                              forall args .-                                Fullfilled "_image_random_flip_left_right(symbol)" args =>-                                String ->-                                  ArgsHMap "_image_random_flip_left_right(symbol)" args ->-                                    IO SymbolHandle-_image_random_flip_left_right name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_left_right"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_flip_top_bottom(symbol)" =-     '[ '("data", AttrOpt SymbolHandle)]--_image_flip_top_bottom ::-                       forall args . Fullfilled "_image_flip_top_bottom(symbol)" args =>-                         String ->-                           ArgsHMap "_image_flip_top_bottom(symbol)" args -> IO SymbolHandle-_image_flip_top_bottom name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_flip_top_bottom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_flip_top_bottom(symbol)"-     = '[ '("data", AttrOpt SymbolHandle)]--_image_random_flip_top_bottom ::-                              forall args .-                                Fullfilled "_image_random_flip_top_bottom(symbol)" args =>-                                String ->-                                  ArgsHMap "_image_random_flip_top_bottom(symbol)" args ->-                                    IO SymbolHandle-_image_random_flip_top_bottom name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_flip_top_bottom"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_brightness(symbol)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_brightness ::-                         forall args . Fullfilled "_image_random_brightness(symbol)" args =>-                           String ->-                             ArgsHMap "_image_random_brightness(symbol)" args -> IO SymbolHandle-_image_random_brightness name args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_brightness"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_contrast(symbol)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_contrast ::-                       forall args . Fullfilled "_image_random_contrast(symbol)" args =>-                         String ->-                           ArgsHMap "_image_random_contrast(symbol)" args -> IO SymbolHandle-_image_random_contrast name args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_contrast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_saturation(symbol)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_saturation ::-                         forall args . Fullfilled "_image_random_saturation(symbol)" args =>-                           String ->-                             ArgsHMap "_image_random_saturation(symbol)" args -> IO SymbolHandle-_image_random_saturation name args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_saturation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_hue(symbol)" =-     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_hue ::-                  forall args . Fullfilled "_image_random_hue(symbol)" args =>-                    String ->-                      ArgsHMap "_image_random_hue(symbol)" args -> IO SymbolHandle-_image_random_hue name args-  = let scalarArgs-          = catMaybes-              [("min_factor",) . showValue <$>-                 (args !? #min_factor :: Maybe Float),-               ("max_factor",) . showValue <$>-                 (args !? #max_factor :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_hue"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_color_jitter(symbol)" =-     '[ '("brightness", AttrReq Float), '("contrast", AttrReq Float),-        '("saturation", AttrReq Float), '("hue", AttrReq Float),-        '("data", AttrOpt SymbolHandle)]--_image_random_color_jitter ::-                           forall args .-                             Fullfilled "_image_random_color_jitter(symbol)" args =>-                             String ->-                               ArgsHMap "_image_random_color_jitter(symbol)" args ->-                                 IO SymbolHandle-_image_random_color_jitter name args-  = let scalarArgs-          = catMaybes-              [("brightness",) . showValue <$>-                 (args !? #brightness :: Maybe Float),-               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),-               ("saturation",) . showValue <$>-                 (args !? #saturation :: Maybe Float),-               ("hue",) . showValue <$> (args !? #hue :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_color_jitter"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_adjust_lighting(symbol)" =-     '[ '("alpha", AttrReq [Float]), '("data", AttrOpt SymbolHandle)]--_image_adjust_lighting ::-                       forall args . Fullfilled "_image_adjust_lighting(symbol)" args =>-                         String ->-                           ArgsHMap "_image_adjust_lighting(symbol)" args -> IO SymbolHandle-_image_adjust_lighting name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_adjust_lighting"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_random_lighting(symbol)" =-     '[ '("alpha_std", AttrOpt Float), '("data", AttrOpt SymbolHandle)]--_image_random_lighting ::-                       forall args . Fullfilled "_image_random_lighting(symbol)" args =>-                         String ->-                           ArgsHMap "_image_random_lighting(symbol)" args -> IO SymbolHandle-_image_random_lighting name args-  = let scalarArgs-          = catMaybes-              [("alpha_std",) . showValue <$>-                 (args !? #alpha_std :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_random_lighting"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_image_resize(symbol)" =-     '[ '("size", AttrOpt [Int]), '("keep_ratio", AttrOpt Bool),-        '("interp", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--_image_resize ::-              forall args . Fullfilled "_image_resize(symbol)" args =>-                String -> ArgsHMap "_image_resize(symbol)" args -> IO SymbolHandle-_image_resize name args-  = let scalarArgs-          = catMaybes-              [("size",) . showValue <$> (args !? #size :: Maybe [Int]),-               ("keep_ratio",) . showValue <$>-                 (args !? #keep_ratio :: Maybe Bool),-               ("interp",) . showValue <$> (args !? #interp :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_image_resize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "moments(symbol)" =-     '[ '("axes", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle)]--moments ::-        forall args . Fullfilled "moments(symbol)" args =>-          String -> ArgsHMap "moments(symbol)" args -> IO SymbolHandle-moments name args-  = let scalarArgs-          = catMaybes-              [("axes",) . showValue <$> (args !? #axes :: Maybe (Maybe [Int])),-               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "moments"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_moments(symbol)" = '[]--_backward_moments ::-                  forall args . Fullfilled "_backward_moments(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_moments(symbol)" args -> IO SymbolHandle-_backward_moments name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_moments"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "softmax(symbol)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("dtype",-          AttrOpt (Maybe (EnumType '["float16", "float32", "float64"]))),-        '("data", AttrOpt SymbolHandle)]--softmax ::-        forall args . Fullfilled "softmax(symbol)" args =>-          String -> ArgsHMap "softmax(symbol)" args -> IO SymbolHandle-softmax name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double)),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (Maybe (EnumType '["float16", "float32", "float64"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_softmax(symbol)" =-     '[ '("args", AttrOpt [SymbolHandle])]--_backward_softmax ::-                  forall args . Fullfilled "_backward_softmax(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_softmax(symbol)" args -> IO SymbolHandle-_backward_softmax name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "_backward_softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "softmin(symbol)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("dtype",-          AttrOpt (Maybe (EnumType '["float16", "float32", "float64"]))),-        '("data", AttrOpt SymbolHandle)]--softmin ::-        forall args . Fullfilled "softmin(symbol)" args =>-          String -> ArgsHMap "softmin(symbol)" args -> IO SymbolHandle-softmin name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double)),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (Maybe (EnumType '["float16", "float32", "float64"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_softmin(symbol)" =-     '[ '("args", AttrOpt [SymbolHandle])]--_backward_softmin ::-                  forall args . Fullfilled "_backward_softmin(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_softmin(symbol)" args -> IO SymbolHandle-_backward_softmin name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "_backward_softmin"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "log_softmax(symbol)" =-     '[ '("axis", AttrOpt Int),-        '("temperature", AttrOpt (Maybe Double)),-        '("dtype",-          AttrOpt (Maybe (EnumType '["float16", "float32", "float64"]))),-        '("data", AttrOpt SymbolHandle)]--log_softmax ::-            forall args . Fullfilled "log_softmax(symbol)" args =>-              String -> ArgsHMap "log_softmax(symbol)" args -> IO SymbolHandle-log_softmax name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("temperature",) . showValue <$>-                 (args !? #temperature :: Maybe (Maybe Double)),-               ("dtype",) . showValue <$>-                 (args !? #dtype ::-                    Maybe (Maybe (EnumType '["float16", "float32", "float64"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "log_softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_log_softmax(symbol)" =-     '[ '("args", AttrOpt [SymbolHandle])]--_backward_log_softmax ::-                      forall args . Fullfilled "_backward_log_softmax(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_log_softmax(symbol)" args -> IO SymbolHandle-_backward_log_softmax name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #args :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "_backward_log_softmax"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_Pooling(symbol)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),-        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("pooling_convention",-          AttrOpt (EnumType '["full", "same", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("p_value", AttrOpt (Maybe Int)),-        '("count_include_pad", AttrOpt (Maybe Bool)),-        '("layout",-          AttrOpt-            (Maybe-               (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"]))),-        '("data", AttrOpt SymbolHandle)]--_Pooling ::-         forall args . Fullfilled "_Pooling(symbol)" args =>-           String -> ArgsHMap "_Pooling(symbol)" args -> IO SymbolHandle-_Pooling name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "same", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool)),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe-                         (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Pooling(symbol)" = '[]--_backward_Pooling ::-                  forall args . Fullfilled "_backward_Pooling(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_Pooling(symbol)" args -> IO SymbolHandle-_backward_Pooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Deconvolution(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("adj", AttrOpt [Int]), '("target_shape", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle)]--_Deconvolution ::-               forall args . Fullfilled "_Deconvolution(symbol)" args =>-                 String -> ArgsHMap "_Deconvolution(symbol)" args -> IO SymbolHandle-_Deconvolution name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("adj",) . showValue <$> (args !? #adj :: Maybe [Int]),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Deconvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Deconvolution(symbol)" = '[]--_backward_Deconvolution ::-                        forall args . Fullfilled "_backward_Deconvolution(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_Deconvolution(symbol)" args -> IO SymbolHandle-_backward_Deconvolution name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Deconvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Activation(symbol)" =-     '[ '("act_type",-          AttrReq-            (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"])),-        '("data", AttrOpt SymbolHandle)]--_Activation ::-            forall args . Fullfilled "_Activation(symbol)" args =>-              String -> ArgsHMap "_Activation(symbol)" args -> IO SymbolHandle-_Activation name args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Activation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Activation(symbol)" = '[]--_backward_Activation ::-                     forall args . Fullfilled "_backward_Activation(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_Activation(symbol)" args -> IO SymbolHandle-_backward_Activation name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Activation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_UpSampling(symbol)" =-     '[ '("scale", AttrReq Int), '("num_filter", AttrOpt Int),-        '("sample_type", AttrReq (EnumType '["bilinear", "nearest"])),-        '("multi_input_mode", AttrOpt (EnumType '["concat", "sum"])),-        '("num_args", AttrReq Int), '("workspace", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--_UpSampling ::-            forall args . Fullfilled "_UpSampling(symbol)" args =>-              String -> ArgsHMap "_UpSampling(symbol)" args -> IO SymbolHandle-_UpSampling name args-  = let scalarArgs-          = catMaybes-              [("scale",) . showValue <$> (args !? #scale :: Maybe Int),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("sample_type",) . showValue <$>-                 (args !? #sample_type ::-                    Maybe (EnumType '["bilinear", "nearest"])),-               ("multi_input_mode",) . showValue <$>-                 (args !? #multi_input_mode :: Maybe (EnumType '["concat", "sum"])),-               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "UpSampling"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_UpSampling(symbol)" = '[]--_backward_UpSampling ::-                     forall args . Fullfilled "_backward_UpSampling(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_UpSampling(symbol)" args -> IO SymbolHandle-_backward_UpSampling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_UpSampling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BatchNorm(symbol)" =-     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),-        '("cudnn_off", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle),-        '("moving_mean", AttrOpt SymbolHandle),-        '("moving_var", AttrOpt SymbolHandle)]--_BatchNorm ::-           forall args . Fullfilled "_BatchNorm(symbol)" args =>-             String -> ArgsHMap "_BatchNorm(symbol)" args -> IO SymbolHandle-_BatchNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle),-               ("moving_mean",) <$> (args !? #moving_mean :: Maybe SymbolHandle),-               ("moving_var",) <$> (args !? #moving_var :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_BatchNorm(symbol)" = '[]--_backward_BatchNorm ::-                    forall args . Fullfilled "_backward_BatchNorm(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_BatchNorm(symbol)" args -> IO SymbolHandle-_backward_BatchNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CTCLoss(symbol)" =-     '[ '("use_data_lengths", AttrOpt Bool),-        '("use_label_lengths", AttrOpt Bool),-        '("blank_label", AttrOpt (EnumType '["first", "last"])),-        '("data", AttrOpt SymbolHandle), '("label", AttrOpt SymbolHandle),-        '("data_lengths", AttrOpt SymbolHandle),-        '("label_lengths", AttrOpt SymbolHandle)]--_CTCLoss ::-         forall args . Fullfilled "_CTCLoss(symbol)" args =>-           String -> ArgsHMap "_CTCLoss(symbol)" args -> IO SymbolHandle-_CTCLoss name args-  = let scalarArgs-          = catMaybes-              [("use_data_lengths",) . showValue <$>-                 (args !? #use_data_lengths :: Maybe Bool),-               ("use_label_lengths",) . showValue <$>-                 (args !? #use_label_lengths :: Maybe Bool),-               ("blank_label",) . showValue <$>-                 (args !? #blank_label :: Maybe (EnumType '["first", "last"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle),-               ("data_lengths",) <$>-                 (args !? #data_lengths :: Maybe SymbolHandle),-               ("label_lengths",) <$>-                 (args !? #label_lengths :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "CTCLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_ctc_loss(symbol)" = '[]--_backward_ctc_loss ::-                   forall args . Fullfilled "_backward_ctc_loss(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_ctc_loss(symbol)" args -> IO SymbolHandle-_backward_ctc_loss name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ctc_loss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_FullyConnected(symbol)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle), '("bias", AttrOpt SymbolHandle)]--_FullyConnected ::-                forall args . Fullfilled "_FullyConnected(symbol)" args =>-                  String ->-                    ArgsHMap "_FullyConnected(symbol)" args -> IO SymbolHandle-_FullyConnected name args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "FullyConnected"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_FullyConnected(symbol)" =-     '[]--_backward_FullyConnected ::-                         forall args . Fullfilled "_backward_FullyConnected(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_FullyConnected(symbol)" args -> IO SymbolHandle-_backward_FullyConnected name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_FullyConnected"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Convolution(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle)]--_Convolution ::-             forall args . Fullfilled "_Convolution(symbol)" args =>-               String -> ArgsHMap "_Convolution(symbol)" args -> IO SymbolHandle-_Convolution name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Convolution(symbol)" = '[]--_backward_Convolution ::-                      forall args . Fullfilled "_backward_Convolution(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_Convolution(symbol)" args -> IO SymbolHandle-_backward_Convolution name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LayerNorm(symbol)" =-     '[ '("axis", AttrOpt Int), '("eps", AttrOpt Float),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle), '("gamma", AttrOpt SymbolHandle),-        '("beta", AttrOpt SymbolHandle)]--_LayerNorm ::-           forall args . Fullfilled "_LayerNorm(symbol)" args =>-             String -> ArgsHMap "_LayerNorm(symbol)" args -> IO SymbolHandle-_LayerNorm name args-  = let scalarArgs-          = catMaybes-              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LayerNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_LayerNorm(symbol)" = '[]--_backward_LayerNorm ::-                    forall args . Fullfilled "_backward_LayerNorm(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_LayerNorm(symbol)" args -> IO SymbolHandle-_backward_LayerNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LayerNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Concat(symbol)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--_Concat ::-        forall args . Fullfilled "_Concat(symbol)" args =>-          String -> ArgsHMap "_Concat(symbol)" args -> IO SymbolHandle-_Concat name args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "Concat"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_Concat(symbol)" = '[]--_backward_Concat ::-                 forall args . Fullfilled "_backward_Concat(symbol)" args =>-                   String ->-                     ArgsHMap "_backward_Concat(symbol)" args -> IO SymbolHandle-_backward_Concat name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Concat"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_rnn_param_concat(symbol)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--_rnn_param_concat ::-                  forall args . Fullfilled "_rnn_param_concat(symbol)" args =>-                    String ->-                      ArgsHMap "_rnn_param_concat(symbol)" args -> IO SymbolHandle-_rnn_param_concat name args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "_rnn_param_concat"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_SoftmaxActivation(symbol)" =-     '[ '("mode", AttrOpt (EnumType '["channel", "instance"])),-        '("data", AttrOpt SymbolHandle)]--_SoftmaxActivation ::-                   forall args . Fullfilled "_SoftmaxActivation(symbol)" args =>-                     String ->-                       ArgsHMap "_SoftmaxActivation(symbol)" args -> IO SymbolHandle-_SoftmaxActivation name args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["channel", "instance"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxActivation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SoftmaxActivation(symbol)" =-     '[]--_backward_SoftmaxActivation ::-                            forall args .-                              Fullfilled "_backward_SoftmaxActivation(symbol)" args =>-                              String ->-                                ArgsHMap "_backward_SoftmaxActivation(symbol)" args ->-                                  IO SymbolHandle-_backward_SoftmaxActivation name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxActivation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LRN(symbol)" =-     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),-        '("knorm", AttrOpt Float), '("nsize", AttrReq Int),-        '("data", AttrOpt SymbolHandle)]--_LRN ::-     forall args . Fullfilled "_LRN(symbol)" args =>-       String -> ArgsHMap "_LRN(symbol)" args -> IO SymbolHandle-_LRN name args-  = let scalarArgs-          = catMaybes-              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("knorm",) . showValue <$> (args !? #knorm :: Maybe Float),-               ("nsize",) . showValue <$> (args !? #nsize :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LRN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_LRN(symbol)" = '[]--_backward_LRN ::-              forall args . Fullfilled "_backward_LRN(symbol)" args =>-                String -> ArgsHMap "_backward_LRN(symbol)" args -> IO SymbolHandle-_backward_LRN name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LRN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Dropout(symbol)" =-     '[ '("p", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["always", "training"])),-        '("axes", AttrOpt [Int]), '("cudnn_off", AttrOpt (Maybe Bool)),-        '("data", AttrOpt SymbolHandle)]--_Dropout ::-         forall args . Fullfilled "_Dropout(symbol)" args =>-           String -> ArgsHMap "_Dropout(symbol)" args -> IO SymbolHandle-_Dropout name args-  = let scalarArgs-          = catMaybes-              [("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode :: Maybe (EnumType '["always", "training"])),-               ("axes",) . showValue <$> (args !? #axes :: Maybe [Int]),-               ("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Dropout"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Dropout(symbol)" = '[]--_backward_Dropout ::-                  forall args . Fullfilled "_backward_Dropout(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_Dropout(symbol)" args -> IO SymbolHandle-_backward_Dropout name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Dropout"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_contrib_quantized_elemwise_add(symbol)" =-     '[ '("lhs", AttrOpt SymbolHandle), '("rhs", AttrOpt SymbolHandle),-        '("lhs_min", AttrOpt SymbolHandle),-        '("lhs_max", AttrOpt SymbolHandle),-        '("rhs_min", AttrOpt SymbolHandle),-        '("rhs_max", AttrOpt SymbolHandle)]--_contrib_quantized_elemwise_add ::-                                forall args .-                                  Fullfilled "_contrib_quantized_elemwise_add(symbol)" args =>-                                  String ->-                                    ArgsHMap "_contrib_quantized_elemwise_add(symbol)" args ->-                                      IO SymbolHandle-_contrib_quantized_elemwise_add name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("lhs",) <$> (args !? #lhs :: Maybe SymbolHandle),-               ("rhs",) <$> (args !? #rhs :: Maybe SymbolHandle),-               ("lhs_min",) <$> (args !? #lhs_min :: Maybe SymbolHandle),-               ("lhs_max",) <$> (args !? #lhs_max :: Maybe SymbolHandle),-               ("rhs_min",) <$> (args !? #rhs_min :: Maybe SymbolHandle),-               ("rhs_max",) <$> (args !? #rhs_max :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_elemwise_add"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_dequantize(symbol)" =-     '[ '("out_type", AttrOpt (EnumType '["float32"])),-        '("data", AttrOpt SymbolHandle),-        '("min_range", AttrOpt SymbolHandle),-        '("max_range", AttrOpt SymbolHandle)]--_contrib_dequantize ::-                    forall args . Fullfilled "_contrib_dequantize(symbol)" args =>-                      String ->-                        ArgsHMap "_contrib_dequantize(symbol)" args -> IO SymbolHandle-_contrib_dequantize name args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["float32"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe SymbolHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_dequantize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantized_flatten(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("min_data", AttrOpt SymbolHandle),-        '("max_data", AttrOpt SymbolHandle)]--_contrib_quantized_flatten ::-                           forall args .-                             Fullfilled "_contrib_quantized_flatten(symbol)" args =>-                             String ->-                               ArgsHMap "_contrib_quantized_flatten(symbol)" args ->-                                 IO SymbolHandle-_contrib_quantized_flatten name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe SymbolHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_flatten"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantized_conv(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt-            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle),-        '("min_data", AttrOpt SymbolHandle),-        '("max_data", AttrOpt SymbolHandle),-        '("min_weight", AttrOpt SymbolHandle),-        '("max_weight", AttrOpt SymbolHandle),-        '("min_bias", AttrOpt SymbolHandle),-        '("max_bias", AttrOpt SymbolHandle)]--_contrib_quantized_conv ::-                        forall args . Fullfilled "_contrib_quantized_conv(symbol)" args =>-                          String ->-                            ArgsHMap "_contrib_quantized_conv(symbol)" args -> IO SymbolHandle-_contrib_quantized_conv name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe SymbolHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe SymbolHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe SymbolHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe SymbolHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe SymbolHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_conv"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_contrib_quantized_fully_connected(symbol)" =-     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),-        '("flatten", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle), '("bias", AttrOpt SymbolHandle),-        '("min_data", AttrOpt SymbolHandle),-        '("max_data", AttrOpt SymbolHandle),-        '("min_weight", AttrOpt SymbolHandle),-        '("max_weight", AttrOpt SymbolHandle),-        '("min_bias", AttrOpt SymbolHandle),-        '("max_bias", AttrOpt SymbolHandle)]--_contrib_quantized_fully_connected ::-                                   forall args .-                                     Fullfilled "_contrib_quantized_fully_connected(symbol)" args =>-                                     String ->-                                       ArgsHMap "_contrib_quantized_fully_connected(symbol)" args ->-                                         IO SymbolHandle-_contrib_quantized_fully_connected name args-  = let scalarArgs-          = catMaybes-              [("num_hidden",) . showValue <$>-                 (args !? #num_hidden :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe SymbolHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe SymbolHandle),-               ("min_weight",) <$> (args !? #min_weight :: Maybe SymbolHandle),-               ("max_weight",) <$> (args !? #max_weight :: Maybe SymbolHandle),-               ("min_bias",) <$> (args !? #min_bias :: Maybe SymbolHandle),-               ("max_bias",) <$> (args !? #max_bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_fully_connected"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantized_pooling(symbol)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),-        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),-        '("pooling_convention",-          AttrOpt (EnumType '["full", "same", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("p_value", AttrOpt (Maybe Int)),-        '("count_include_pad", AttrOpt (Maybe Bool)),-        '("layout",-          AttrOpt-            (Maybe-               (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"]))),-        '("data", AttrOpt SymbolHandle),-        '("min_data", AttrOpt SymbolHandle),-        '("max_data", AttrOpt SymbolHandle)]--_contrib_quantized_pooling ::-                           forall args .-                             Fullfilled "_contrib_quantized_pooling(symbol)" args =>-                             String ->-                               ArgsHMap "_contrib_quantized_pooling(symbol)" args ->-                                 IO SymbolHandle-_contrib_quantized_pooling name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type ::-                    Maybe (EnumType '["avg", "lp", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "same", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("p_value",) . showValue <$>-                 (args !? #p_value :: Maybe (Maybe Int)),-               ("count_include_pad",) . showValue <$>-                 (args !? #count_include_pad :: Maybe (Maybe Bool)),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe-                      (Maybe-                         (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe SymbolHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_pooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantize_v2(symbol)" =-     '[ '("out_type", AttrOpt (EnumType '["auto", "int8", "uint8"])),-        '("min_calib_range", AttrOpt (Maybe Float)),-        '("max_calib_range", AttrOpt (Maybe Float)),-        '("data", AttrOpt SymbolHandle)]--_contrib_quantize_v2 ::-                     forall args . Fullfilled "_contrib_quantize_v2(symbol)" args =>-                       String ->-                         ArgsHMap "_contrib_quantize_v2(symbol)" args -> IO SymbolHandle-_contrib_quantize_v2 name args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["auto", "int8", "uint8"])),-               ("min_calib_range",) . showValue <$>-                 (args !? #min_calib_range :: Maybe (Maybe Float)),-               ("max_calib_range",) . showValue <$>-                 (args !? #max_calib_range :: Maybe (Maybe Float))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize_v2"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantized_concat(symbol)" =-     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--_contrib_quantized_concat ::-                          forall args .-                            Fullfilled "_contrib_quantized_concat(symbol)" args =>-                            String ->-                              ArgsHMap "_contrib_quantized_concat(symbol)" args ->-                                IO SymbolHandle-_contrib_quantized_concat name args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "_contrib_quantized_concat"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_contrib_requantize(symbol)" =-     '[ '("out_type", AttrOpt (EnumType '["auto", "int8", "uint8"])),-        '("min_calib_range", AttrOpt (Maybe Float)),-        '("max_calib_range", AttrOpt (Maybe Float)),-        '("data", AttrOpt SymbolHandle),-        '("min_range", AttrOpt SymbolHandle),-        '("max_range", AttrOpt SymbolHandle)]--_contrib_requantize ::-                    forall args . Fullfilled "_contrib_requantize(symbol)" args =>-                      String ->-                        ArgsHMap "_contrib_requantize(symbol)" args -> IO SymbolHandle-_contrib_requantize name args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["auto", "int8", "uint8"])),-               ("min_calib_range",) . showValue <$>-                 (args !? #min_calib_range :: Maybe (Maybe Float)),-               ("max_calib_range",) . showValue <$>-                 (args !? #max_calib_range :: Maybe (Maybe Float))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe SymbolHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_requantize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantized_act(symbol)" =-     '[ '("act_type",-          AttrReq-            (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"])),-        '("data", AttrOpt SymbolHandle),-        '("min_data", AttrOpt SymbolHandle),-        '("max_data", AttrOpt SymbolHandle)]--_contrib_quantized_act ::-                       forall args . Fullfilled "_contrib_quantized_act(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_quantized_act(symbol)" args -> IO SymbolHandle-_contrib_quantized_act name args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_data",) <$> (args !? #min_data :: Maybe SymbolHandle),-               ("max_data",) <$> (args !? #max_data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantized_act"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_quantize(symbol)" =-     '[ '("out_type", AttrOpt (EnumType '["int8", "uint8"])),-        '("data", AttrOpt SymbolHandle),-        '("min_range", AttrOpt SymbolHandle),-        '("max_range", AttrOpt SymbolHandle)]--_contrib_quantize ::-                  forall args . Fullfilled "_contrib_quantize(symbol)" args =>-                    String ->-                      ArgsHMap "_contrib_quantize(symbol)" args -> IO SymbolHandle-_contrib_quantize name args-  = let scalarArgs-          = catMaybes-              [("out_type",) . showValue <$>-                 (args !? #out_type :: Maybe (EnumType '["int8", "uint8"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("min_range",) <$> (args !? #min_range :: Maybe SymbolHandle),-               ("max_range",) <$> (args !? #max_range :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_quantize"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_cvimread(symbol)" =-     '[ '("filename", AttrReq String), '("flag", AttrOpt Int),-        '("to_rgb", AttrOpt Bool)]--_cvimread ::-          forall args . Fullfilled "_cvimread(symbol)" args =>-            String -> ArgsHMap "_cvimread(symbol)" args -> IO SymbolHandle-_cvimread name args-  = let scalarArgs-          = catMaybes-              [("filename",) . showValue <$> (args !? #filename :: Maybe String),-               ("flag",) . showValue <$> (args !? #flag :: Maybe Int),-               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_cvimread"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_NoGradient(symbol)" = '[]--_NoGradient ::-            forall args . Fullfilled "_NoGradient(symbol)" args =>-              String -> ArgsHMap "_NoGradient(symbol)" args -> IO SymbolHandle-_NoGradient name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_NoGradient"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CachedOp(symbol)" =-     '[ '("data", AttrOpt [SymbolHandle])]--_CachedOp ::-          forall args . Fullfilled "_CachedOp(symbol)" args =>-            String -> ArgsHMap "_CachedOp(symbol)" args -> IO SymbolHandle-_CachedOp name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "_CachedOp"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_CachedOp(symbol)" = '[]--_backward_CachedOp ::-                   forall args . Fullfilled "_backward_CachedOp(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_CachedOp(symbol)" args -> IO SymbolHandle-_backward_CachedOp name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CachedOp"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "softmax_cross_entropy(symbol)" =-     '[ '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--softmax_cross_entropy ::-                      forall args . Fullfilled "softmax_cross_entropy(symbol)" args =>-                        String ->-                          ArgsHMap "softmax_cross_entropy(symbol)" args -> IO SymbolHandle-softmax_cross_entropy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "softmax_cross_entropy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_softmax_cross_entropy(symbol)" = '[]--_backward_softmax_cross_entropy ::-                                forall args .-                                  Fullfilled "_backward_softmax_cross_entropy(symbol)" args =>-                                  String ->-                                    ArgsHMap "_backward_softmax_cross_entropy(symbol)" args ->-                                      IO SymbolHandle-_backward_softmax_cross_entropy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_softmax_cross_entropy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_foreach(symbol)" = '[]--_backward_foreach ::-                  forall args . Fullfilled "_backward_foreach(symbol)" args =>-                    String ->-                      ArgsHMap "_backward_foreach(symbol)" args -> IO SymbolHandle-_backward_foreach name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_foreach"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_while_loop(symbol)" = '[]--_backward_while_loop ::-                     forall args . Fullfilled "_backward_while_loop(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_while_loop(symbol)" args -> IO SymbolHandle-_backward_while_loop name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_while_loop"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_cond(symbol)" = '[]--_backward_cond ::-               forall args . Fullfilled "_backward_cond(symbol)" args =>-                 String -> ArgsHMap "_backward_cond(symbol)" args -> IO SymbolHandle-_backward_cond name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_cond"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SoftmaxOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float),-        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),-        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),-        '("data", AttrOpt SymbolHandle), '("label", AttrOpt SymbolHandle)]--_SoftmaxOutput ::-               forall args . Fullfilled "_SoftmaxOutput(symbol)" args =>-                 String -> ArgsHMap "_SoftmaxOutput(symbol)" args -> IO SymbolHandle-_SoftmaxOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("multi_output",) . showValue <$>-                 (args !? #multi_output :: Maybe Bool),-               ("use_ignore",) . showValue <$>-                 (args !? #use_ignore :: Maybe Bool),-               ("preserve_shape",) . showValue <$>-                 (args !? #preserve_shape :: Maybe Bool),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"])),-               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),-               ("smooth_alpha",) . showValue <$>-                 (args !? #smooth_alpha :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SoftmaxOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SoftmaxOutput(symbol)" = '[]--_backward_SoftmaxOutput ::-                        forall args . Fullfilled "_backward_SoftmaxOutput(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_SoftmaxOutput(symbol)" args -> IO SymbolHandle-_backward_SoftmaxOutput name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SoftmaxOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LeakyReLU(symbol)" =-     '[ '("act_type",-          AttrOpt-            (EnumType '["elu", "gelu", "leaky", "prelu", "rrelu", "selu"])),-        '("slope", AttrOpt Float), '("lower_bound", AttrOpt Float),-        '("upper_bound", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle)]--_LeakyReLU ::-           forall args . Fullfilled "_LeakyReLU(symbol)" args =>-             String -> ArgsHMap "_LeakyReLU(symbol)" args -> IO SymbolHandle-_LeakyReLU name args-  = let scalarArgs-          = catMaybes-              [("act_type",) . showValue <$>-                 (args !? #act_type ::-                    Maybe-                      (EnumType '["elu", "gelu", "leaky", "prelu", "rrelu", "selu"])),-               ("slope",) . showValue <$> (args !? #slope :: Maybe Float),-               ("lower_bound",) . showValue <$>-                 (args !? #lower_bound :: Maybe Float),-               ("upper_bound",) . showValue <$>-                 (args !? #upper_bound :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LeakyReLU"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SwapAxis(symbol)" =-     '[ '("dim1", AttrOpt Int), '("dim2", AttrOpt Int),-        '("data", AttrOpt SymbolHandle)]--_SwapAxis ::-          forall args . Fullfilled "_SwapAxis(symbol)" args =>-            String -> ArgsHMap "_SwapAxis(symbol)" args -> IO SymbolHandle-_SwapAxis name args-  = let scalarArgs-          = catMaybes-              [("dim1",) . showValue <$> (args !? #dim1 :: Maybe Int),-               ("dim2",) . showValue <$> (args !? #dim2 :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SwapAxis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_IdentityAttachKLSparseReg(symbol)" =-     '[ '("sparseness_target", AttrOpt Float),-        '("penalty", AttrOpt Float), '("momentum", AttrOpt Float),-        '("data", AttrOpt SymbolHandle)]--_IdentityAttachKLSparseReg ::-                           forall args .-                             Fullfilled "_IdentityAttachKLSparseReg(symbol)" args =>-                             String ->-                               ArgsHMap "_IdentityAttachKLSparseReg(symbol)" args ->-                                 IO SymbolHandle-_IdentityAttachKLSparseReg name args-  = let scalarArgs-          = catMaybes-              [("sparseness_target",) . showValue <$>-                 (args !? #sparseness_target :: Maybe Float),-               ("penalty",) . showValue <$> (args !? #penalty :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "IdentityAttachKLSparseReg"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SliceChannel(symbol)" =-     '[ '("num_outputs", AttrReq Int), '("axis", AttrOpt Int),-        '("squeeze_axis", AttrOpt Bool), '("data", AttrOpt SymbolHandle)]--_SliceChannel ::-              forall args . Fullfilled "_SliceChannel(symbol)" args =>-                String -> ArgsHMap "_SliceChannel(symbol)" args -> IO SymbolHandle-_SliceChannel name args-  = let scalarArgs-          = catMaybes-              [("num_outputs",) . showValue <$>-                 (args !? #num_outputs :: Maybe Int),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),-               ("squeeze_axis",) . showValue <$>-                 (args !? #squeeze_axis :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SliceChannel"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_RNN(symbol)" =-     '[ '("state_size", AttrReq Int), '("num_layers", AttrReq Int),-        '("bidirectional", AttrOpt Bool),-        '("mode",-          AttrReq (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-        '("p", AttrOpt Float), '("state_outputs", AttrOpt Bool),-        '("projection_size", AttrOpt (Maybe Int)),-        '("lstm_state_clip_min", AttrOpt (Maybe Double)),-        '("lstm_state_clip_max", AttrOpt (Maybe Double)),-        '("lstm_state_clip_nan", AttrOpt Bool),-        '("use_sequence_length", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle),-        '("parameters", AttrOpt SymbolHandle),-        '("state", AttrOpt SymbolHandle),-        '("state_cell", AttrOpt SymbolHandle),-        '("sequence_length", AttrOpt SymbolHandle)]--_RNN ::-     forall args . Fullfilled "_RNN(symbol)" args =>-       String -> ArgsHMap "_RNN(symbol)" args -> IO SymbolHandle-_RNN name args-  = let scalarArgs-          = catMaybes-              [("state_size",) . showValue <$>-                 (args !? #state_size :: Maybe Int),-               ("num_layers",) . showValue <$> (args !? #num_layers :: Maybe Int),-               ("bidirectional",) . showValue <$>-                 (args !? #bidirectional :: Maybe Bool),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),-               ("p",) . showValue <$> (args !? #p :: Maybe Float),-               ("state_outputs",) . showValue <$>-                 (args !? #state_outputs :: Maybe Bool),-               ("projection_size",) . showValue <$>-                 (args !? #projection_size :: Maybe (Maybe Int)),-               ("lstm_state_clip_min",) . showValue <$>-                 (args !? #lstm_state_clip_min :: Maybe (Maybe Double)),-               ("lstm_state_clip_max",) . showValue <$>-                 (args !? #lstm_state_clip_max :: Maybe (Maybe Double)),-               ("lstm_state_clip_nan",) . showValue <$>-                 (args !? #lstm_state_clip_nan :: Maybe Bool),-               ("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("parameters",) <$> (args !? #parameters :: Maybe SymbolHandle),-               ("state",) <$> (args !? #state :: Maybe SymbolHandle),-               ("state_cell",) <$> (args !? #state_cell :: Maybe SymbolHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "RNN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_RNN(symbol)" = '[]--_backward_RNN ::-              forall args . Fullfilled "_backward_RNN(symbol)" args =>-                String -> ArgsHMap "_backward_RNN(symbol)" args -> IO SymbolHandle-_backward_RNN name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_RNN"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Pad(symbol)" =-     '[ '("mode", AttrReq (EnumType '["constant", "edge", "reflect"])),-        '("pad_width", AttrReq [Int]), '("constant_value", AttrOpt Double),-        '("data", AttrOpt SymbolHandle)]--_Pad ::-     forall args . Fullfilled "_Pad(symbol)" args =>-       String -> ArgsHMap "_Pad(symbol)" args -> IO SymbolHandle-_Pad name args-  = let scalarArgs-          = catMaybes-              [("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["constant", "edge", "reflect"])),-               ("pad_width",) . showValue <$> (args !? #pad_width :: Maybe [Int]),-               ("constant_value",) . showValue <$>-                 (args !? #constant_value :: Maybe Double)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pad"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BatchNorm_v1(symbol)" =-     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),-        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),-        '("output_mean_var", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle), '("gamma", AttrOpt SymbolHandle),-        '("beta", AttrOpt SymbolHandle)]--_BatchNorm_v1 ::-              forall args . Fullfilled "_BatchNorm_v1(symbol)" args =>-                String -> ArgsHMap "_BatchNorm_v1(symbol)" args -> IO SymbolHandle-_BatchNorm_v1 name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),-               ("use_global_stats",) . showValue <$>-                 (args !? #use_global_stats :: Maybe Bool),-               ("output_mean_var",) . showValue <$>-                 (args !? #output_mean_var :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BatchNorm_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "signsgd_update(symbol)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle)]--signsgd_update ::-               forall args . Fullfilled "signsgd_update(symbol)" args =>-                 String -> ArgsHMap "signsgd_update(symbol)" args -> IO SymbolHandle-signsgd_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signsgd_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "signum_update(symbol)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("wd_lh", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mom", AttrOpt SymbolHandle)]--signum_update ::-              forall args . Fullfilled "signum_update(symbol)" args =>-                String -> ArgsHMap "signum_update(symbol)" args -> IO SymbolHandle-signum_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("wd_lh",) . showValue <$> (args !? #wd_lh :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mom",) <$> (args !? #mom :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "signum_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "multi_sgd_update(symbol)" =-     '[ '("lrs", AttrReq [Float]), '("wds", AttrReq [Float]),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--multi_sgd_update ::-                 forall args . Fullfilled "multi_sgd_update(symbol)" args =>-                   String ->-                     ArgsHMap "multi_sgd_update(symbol)" args -> IO SymbolHandle-multi_sgd_update name args-  = let scalarArgs-          = catMaybes-              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),-               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("num_weights",) . showValue <$>-                 (args !? #num_weights :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "multi_sgd_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "multi_sgd_mom_update(symbol)" =-     '[ '("lrs", AttrReq [Float]), '("wds", AttrReq [Float]),-        '("momentum", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--multi_sgd_mom_update ::-                     forall args . Fullfilled "multi_sgd_mom_update(symbol)" args =>-                       String ->-                         ArgsHMap "multi_sgd_mom_update(symbol)" args -> IO SymbolHandle-multi_sgd_mom_update name args-  = let scalarArgs-          = catMaybes-              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),-               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("num_weights",) . showValue <$>-                 (args !? #num_weights :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "multi_sgd_mom_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "multi_mp_sgd_update(symbol)" =-     '[ '("lrs", AttrReq [Float]), '("wds", AttrReq [Float]),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--multi_mp_sgd_update ::-                    forall args . Fullfilled "multi_mp_sgd_update(symbol)" args =>-                      String ->-                        ArgsHMap "multi_mp_sgd_update(symbol)" args -> IO SymbolHandle-multi_mp_sgd_update name args-  = let scalarArgs-          = catMaybes-              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),-               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("num_weights",) . showValue <$>-                 (args !? #num_weights :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "multi_mp_sgd_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "multi_mp_sgd_mom_update(symbol)" =-     '[ '("lrs", AttrReq [Float]), '("wds", AttrReq [Float]),-        '("momentum", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),-        '("data", AttrOpt [SymbolHandle])]--multi_mp_sgd_mom_update ::-                        forall args . Fullfilled "multi_mp_sgd_mom_update(symbol)" args =>-                          String ->-                            ArgsHMap "multi_mp_sgd_mom_update(symbol)" args -> IO SymbolHandle-multi_mp_sgd_mom_update name args-  = let scalarArgs-          = catMaybes-              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),-               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("num_weights",) . showValue <$>-                 (args !? #num_weights :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "multi_mp_sgd_mom_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "sgd_update(symbol)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle)]--sgd_update ::-           forall args . Fullfilled "sgd_update(symbol)" args =>-             String -> ArgsHMap "sgd_update(symbol)" args -> IO SymbolHandle-sgd_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "sgd_mom_update(symbol)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mom", AttrOpt SymbolHandle)]--sgd_mom_update ::-               forall args . Fullfilled "sgd_mom_update(symbol)" args =>-                 String -> ArgsHMap "sgd_mom_update(symbol)" args -> IO SymbolHandle-sgd_mom_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mom",) <$> (args !? #mom :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "sgd_mom_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "mp_sgd_update(symbol)" =-     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("weight32", AttrOpt SymbolHandle)]--mp_sgd_update ::-              forall args . Fullfilled "mp_sgd_update(symbol)" args =>-                String -> ArgsHMap "mp_sgd_update(symbol)" args -> IO SymbolHandle-mp_sgd_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "mp_sgd_mom_update(symbol)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mom", AttrOpt SymbolHandle),-        '("weight32", AttrOpt SymbolHandle)]--mp_sgd_mom_update ::-                  forall args . Fullfilled "mp_sgd_mom_update(symbol)" args =>-                    String ->-                      ArgsHMap "mp_sgd_mom_update(symbol)" args -> IO SymbolHandle-mp_sgd_mom_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mom",) <$> (args !? #mom :: Maybe SymbolHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_sgd_mom_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ftml_update(symbol)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Double),-        '("t", AttrReq Int), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float), '("clip_grad", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("d", AttrOpt SymbolHandle), '("v", AttrOpt SymbolHandle),-        '("z", AttrOpt SymbolHandle)]--ftml_update ::-            forall args . Fullfilled "ftml_update(symbol)" args =>-              String -> ArgsHMap "ftml_update(symbol)" args -> IO SymbolHandle-ftml_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Double),-               ("t",) . showValue <$> (args !? #t :: Maybe Int),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_grad",) . showValue <$> (args !? #clip_grad :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("d",) <$> (args !? #d :: Maybe SymbolHandle),-               ("v",) <$> (args !? #v :: Maybe SymbolHandle),-               ("z",) <$> (args !? #z :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftml_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "adam_update(symbol)" =-     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),-        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mean", AttrOpt SymbolHandle), '("var", AttrOpt SymbolHandle)]--adam_update ::-            forall args . Fullfilled "adam_update(symbol)" args =>-              String -> ArgsHMap "adam_update(symbol)" args -> IO SymbolHandle-adam_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),-               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("lazy_update",) . showValue <$>-                 (args !? #lazy_update :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mean",) <$> (args !? #mean :: Maybe SymbolHandle),-               ("var",) <$> (args !? #var :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "adam_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "nag_mom_update(symbol)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mom", AttrOpt SymbolHandle)]--nag_mom_update ::-               forall args . Fullfilled "nag_mom_update(symbol)" args =>-                 String -> ArgsHMap "nag_mom_update(symbol)" args -> IO SymbolHandle-nag_mom_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mom",) <$> (args !? #mom :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "nag_mom_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "mp_nag_mom_update(symbol)" =-     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("mom", AttrOpt SymbolHandle),-        '("weight32", AttrOpt SymbolHandle)]--mp_nag_mom_update ::-                  forall args . Fullfilled "mp_nag_mom_update(symbol)" args =>-                    String ->-                      ArgsHMap "mp_nag_mom_update(symbol)" args -> IO SymbolHandle-mp_nag_mom_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("mom",) <$> (args !? #mom :: Maybe SymbolHandle),-               ("weight32",) <$> (args !? #weight32 :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "mp_nag_mom_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rmsprop_update(symbol)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("epsilon", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("n", AttrOpt SymbolHandle)]--rmsprop_update ::-               forall args . Fullfilled "rmsprop_update(symbol)" args =>-                 String -> ArgsHMap "rmsprop_update(symbol)" args -> IO SymbolHandle-rmsprop_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("n",) <$> (args !? #n :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmsprop_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "rmspropalex_update(symbol)" =-     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),-        '("gamma2", AttrOpt Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("clip_weights", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("n", AttrOpt SymbolHandle), '("g", AttrOpt SymbolHandle),-        '("delta", AttrOpt SymbolHandle)]--rmspropalex_update ::-                   forall args . Fullfilled "rmspropalex_update(symbol)" args =>-                     String ->-                       ArgsHMap "rmspropalex_update(symbol)" args -> IO SymbolHandle-rmspropalex_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),-               ("gamma2",) . showValue <$> (args !? #gamma2 :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float),-               ("clip_weights",) . showValue <$>-                 (args !? #clip_weights :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("n",) <$> (args !? #n :: Maybe SymbolHandle),-               ("g",) <$> (args !? #g :: Maybe SymbolHandle),-               ("delta",) <$> (args !? #delta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "rmspropalex_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "ftrl_update(symbol)" =-     '[ '("lr", AttrReq Float), '("lamda1", AttrOpt Float),-        '("beta", AttrOpt Float), '("wd", AttrOpt Float),-        '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("z", AttrOpt SymbolHandle), '("n", AttrOpt SymbolHandle)]--ftrl_update ::-            forall args . Fullfilled "ftrl_update(symbol)" args =>-              String -> ArgsHMap "ftrl_update(symbol)" args -> IO SymbolHandle-ftrl_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("lamda1",) . showValue <$> (args !? #lamda1 :: Maybe Float),-               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("z",) <$> (args !? #z :: Maybe SymbolHandle),-               ("n",) <$> (args !? #n :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ftrl_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_sparse_adagrad_update(symbol)" =-     '[ '("lr", AttrReq Float), '("epsilon", AttrOpt Float),-        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),-        '("clip_gradient", AttrOpt Float),-        '("weight", AttrOpt SymbolHandle), '("grad", AttrOpt SymbolHandle),-        '("history", AttrOpt SymbolHandle)]--_sparse_adagrad_update ::-                       forall args . Fullfilled "_sparse_adagrad_update(symbol)" args =>-                         String ->-                           ArgsHMap "_sparse_adagrad_update(symbol)" args -> IO SymbolHandle-_sparse_adagrad_update name args-  = let scalarArgs-          = catMaybes-              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),-               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),-               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),-               ("rescale_grad",) . showValue <$>-                 (args !? #rescale_grad :: Maybe Float),-               ("clip_gradient",) . showValue <$>-                 (args !? #clip_gradient :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("grad",) <$> (args !? #grad :: Maybe SymbolHandle),-               ("history",) <$> (args !? #history :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_sparse_adagrad_update"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LinearRegressionOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_LinearRegressionOutput ::-                        forall args . Fullfilled "_LinearRegressionOutput(symbol)" args =>-                          String ->-                            ArgsHMap "_LinearRegressionOutput(symbol)" args -> IO SymbolHandle-_LinearRegressionOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LinearRegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_linear_reg_out(symbol)" =-     '[]--_backward_linear_reg_out ::-                         forall args . Fullfilled "_backward_linear_reg_out(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_linear_reg_out(symbol)" args -> IO SymbolHandle-_backward_linear_reg_out name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_linear_reg_out"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_MAERegressionOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_MAERegressionOutput ::-                     forall args . Fullfilled "_MAERegressionOutput(symbol)" args =>-                       String ->-                         ArgsHMap "_MAERegressionOutput(symbol)" args -> IO SymbolHandle-_MAERegressionOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MAERegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_mae_reg_out(symbol)" = '[]--_backward_mae_reg_out ::-                      forall args . Fullfilled "_backward_mae_reg_out(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_mae_reg_out(symbol)" args -> IO SymbolHandle-_backward_mae_reg_out name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_mae_reg_out"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_LogisticRegressionOutput(symbol)" =-     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_LogisticRegressionOutput ::-                          forall args .-                            Fullfilled "_LogisticRegressionOutput(symbol)" args =>-                            String ->-                              ArgsHMap "_LogisticRegressionOutput(symbol)" args ->-                                IO SymbolHandle-_LogisticRegressionOutput name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "LogisticRegressionOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_logistic_reg_out(symbol)" =-     '[]--_backward_logistic_reg_out ::-                           forall args .-                             Fullfilled "_backward_logistic_reg_out(symbol)" args =>-                             String ->-                               ArgsHMap "_backward_logistic_reg_out(symbol)" args ->-                                 IO SymbolHandle-_backward_logistic_reg_out name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_logistic_reg_out"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CustomFunction(symbol)" = '[]--_CustomFunction ::-                forall args . Fullfilled "_CustomFunction(symbol)" args =>-                  String ->-                    ArgsHMap "_CustomFunction(symbol)" args -> IO SymbolHandle-_CustomFunction name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CustomFunction"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_CustomFunction(symbol)" =-     '[]--_backward_CustomFunction ::-                         forall args . Fullfilled "_backward_CustomFunction(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_CustomFunction(symbol)" args -> IO SymbolHandle-_backward_CustomFunction name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_CustomFunction"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__Native(symbol)" = '[]--_backward__Native ::-                  forall args . Fullfilled "_backward__Native(symbol)" args =>-                    String ->-                      ArgsHMap "_backward__Native(symbol)" args -> IO SymbolHandle-_backward__Native name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__Native"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__NDArray(symbol)" = '[]--_backward__NDArray ::-                   forall args . Fullfilled "_backward__NDArray(symbol)" args =>-                     String ->-                       ArgsHMap "_backward__NDArray(symbol)" args -> IO SymbolHandle-_backward__NDArray name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__NDArray"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiBoxTarget(symbol)" =-     '[ '("overlap_threshold", AttrOpt Float),-        '("ignore_label", AttrOpt Float),-        '("negative_mining_ratio", AttrOpt Float),-        '("negative_mining_thresh", AttrOpt Float),-        '("minimum_negative_samples", AttrOpt Int),-        '("variances", AttrOpt [Float]), '("anchor", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle),-        '("cls_pred", AttrOpt SymbolHandle)]--_contrib_MultiBoxTarget ::-                        forall args . Fullfilled "_contrib_MultiBoxTarget(symbol)" args =>-                          String ->-                            ArgsHMap "_contrib_MultiBoxTarget(symbol)" args -> IO SymbolHandle-_contrib_MultiBoxTarget name args-  = let scalarArgs-          = catMaybes-              [("overlap_threshold",) . showValue <$>-                 (args !? #overlap_threshold :: Maybe Float),-               ("ignore_label",) . showValue <$>-                 (args !? #ignore_label :: Maybe Float),-               ("negative_mining_ratio",) . showValue <$>-                 (args !? #negative_mining_ratio :: Maybe Float),-               ("negative_mining_thresh",) . showValue <$>-                 (args !? #negative_mining_thresh :: Maybe Float),-               ("minimum_negative_samples",) . showValue <$>-                 (args !? #minimum_negative_samples :: Maybe Int),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("anchor",) <$> (args !? #anchor :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle),-               ("cls_pred",) <$> (args !? #cls_pred :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxTarget"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiBoxTarget(symbol)" = '[]--_backward__contrib_MultiBoxTarget ::-                                  forall args .-                                    Fullfilled "_backward__contrib_MultiBoxTarget(symbol)" args =>-                                    String ->-                                      ArgsHMap "_backward__contrib_MultiBoxTarget(symbol)" args ->-                                        IO SymbolHandle-_backward__contrib_MultiBoxTarget name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxTarget"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_Proposal(symbol)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt SymbolHandle),-        '("bbox_pred", AttrOpt SymbolHandle),-        '("im_info", AttrOpt SymbolHandle)]--_contrib_Proposal ::-                  forall args . Fullfilled "_contrib_Proposal(symbol)" args =>-                    String ->-                      ArgsHMap "_contrib_Proposal(symbol)" args -> IO SymbolHandle-_contrib_Proposal name args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe SymbolHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe SymbolHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_Proposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_Proposal(symbol)" =-     '[]--_backward__contrib_Proposal ::-                            forall args .-                              Fullfilled "_backward__contrib_Proposal(symbol)" args =>-                              String ->-                                ArgsHMap "_backward__contrib_Proposal(symbol)" args ->-                                  IO SymbolHandle-_backward__contrib_Proposal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_Proposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_count_sketch(symbol)" =-     '[ '("out_dim", AttrReq Int),-        '("processing_batch_size", AttrOpt Int),-        '("data", AttrOpt SymbolHandle), '("h", AttrOpt SymbolHandle),-        '("s", AttrOpt SymbolHandle)]--_contrib_count_sketch ::-                      forall args . Fullfilled "_contrib_count_sketch(symbol)" args =>-                        String ->-                          ArgsHMap "_contrib_count_sketch(symbol)" args -> IO SymbolHandle-_contrib_count_sketch name args-  = let scalarArgs-          = catMaybes-              [("out_dim",) . showValue <$> (args !? #out_dim :: Maybe Int),-               ("processing_batch_size",) . showValue <$>-                 (args !? #processing_batch_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("h",) <$> (args !? #h :: Maybe SymbolHandle),-               ("s",) <$> (args !? #s :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_count_sketch"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_count_sketch(symbol)" = '[]--_backward__contrib_count_sketch ::-                                forall args .-                                  Fullfilled "_backward__contrib_count_sketch(symbol)" args =>-                                  String ->-                                    ArgsHMap "_backward__contrib_count_sketch(symbol)" args ->-                                      IO SymbolHandle-_backward__contrib_count_sketch name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_count_sketch"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiBoxDetection(symbol)" =-     '[ '("clip", AttrOpt Bool), '("threshold", AttrOpt Float),-        '("background_id", AttrOpt Int), '("nms_threshold", AttrOpt Float),-        '("force_suppress", AttrOpt Bool), '("variances", AttrOpt [Float]),-        '("nms_topk", AttrOpt Int), '("cls_prob", AttrOpt SymbolHandle),-        '("loc_pred", AttrOpt SymbolHandle),-        '("anchor", AttrOpt SymbolHandle)]--_contrib_MultiBoxDetection ::-                           forall args .-                             Fullfilled "_contrib_MultiBoxDetection(symbol)" args =>-                             String ->-                               ArgsHMap "_contrib_MultiBoxDetection(symbol)" args ->-                                 IO SymbolHandle-_contrib_MultiBoxDetection name args-  = let scalarArgs-          = catMaybes-              [("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("background_id",) . showValue <$>-                 (args !? #background_id :: Maybe Int),-               ("nms_threshold",) . showValue <$>-                 (args !? #nms_threshold :: Maybe Float),-               ("force_suppress",) . showValue <$>-                 (args !? #force_suppress :: Maybe Bool),-               ("variances",) . showValue <$>-                 (args !? #variances :: Maybe [Float]),-               ("nms_topk",) . showValue <$> (args !? #nms_topk :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe SymbolHandle),-               ("loc_pred",) <$> (args !? #loc_pred :: Maybe SymbolHandle),-               ("anchor",) <$> (args !? #anchor :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxDetection"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiBoxDetection(symbol)" = '[]--_backward__contrib_MultiBoxDetection ::-                                     forall args .-                                       Fullfilled "_backward__contrib_MultiBoxDetection(symbol)"-                                         args =>-                                       String ->-                                         ArgsHMap "_backward__contrib_MultiBoxDetection(symbol)"-                                           args-                                           -> IO SymbolHandle-_backward__contrib_MultiBoxDetection name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxDetection"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_contrib_DeformablePSROIPooling(symbol)" =-     '[ '("spatial_scale", AttrReq Float), '("output_dim", AttrReq Int),-        '("group_size", AttrReq Int), '("pooled_size", AttrReq Int),-        '("part_size", AttrOpt Int), '("sample_per_part", AttrOpt Int),-        '("trans_std", AttrOpt Float), '("no_trans", AttrOpt Bool),-        '("data", AttrOpt SymbolHandle), '("rois", AttrOpt SymbolHandle),-        '("trans", AttrOpt SymbolHandle)]--_contrib_DeformablePSROIPooling ::-                                forall args .-                                  Fullfilled "_contrib_DeformablePSROIPooling(symbol)" args =>-                                  String ->-                                    ArgsHMap "_contrib_DeformablePSROIPooling(symbol)" args ->-                                      IO SymbolHandle-_contrib_DeformablePSROIPooling name args-  = let scalarArgs-          = catMaybes-              [("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("group_size",) . showValue <$> (args !? #group_size :: Maybe Int),-               ("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe Int),-               ("part_size",) . showValue <$> (args !? #part_size :: Maybe Int),-               ("sample_per_part",) . showValue <$>-                 (args !? #sample_per_part :: Maybe Int),-               ("trans_std",) . showValue <$> (args !? #trans_std :: Maybe Float),-               ("no_trans",) . showValue <$> (args !? #no_trans :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle),-               ("trans",) <$> (args !? #trans :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformablePSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_DeformablePSROIPooling(symbol)" =-     '[]--_backward__contrib_DeformablePSROIPooling ::-                                          forall args .-                                            Fullfilled-                                              "_backward__contrib_DeformablePSROIPooling(symbol)"-                                              args =>-                                            String ->-                                              ArgsHMap-                                                "_backward__contrib_DeformablePSROIPooling(symbol)"-                                                args-                                                -> IO SymbolHandle-_backward__contrib_DeformablePSROIPooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformablePSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_fft(symbol)" =-     '[ '("compute_size", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--_contrib_fft ::-             forall args . Fullfilled "_contrib_fft(symbol)" args =>-               String -> ArgsHMap "_contrib_fft(symbol)" args -> IO SymbolHandle-_contrib_fft name args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_fft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_fft(symbol)" = '[]--_backward__contrib_fft ::-                       forall args . Fullfilled "_backward__contrib_fft(symbol)" args =>-                         String ->-                           ArgsHMap "_backward__contrib_fft(symbol)" args -> IO SymbolHandle-_backward__contrib_fft name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_fft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiBoxPrior(symbol)" =-     '[ '("sizes", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("clip", AttrOpt Bool), '("steps", AttrOpt [Float]),-        '("offsets", AttrOpt [Float]), '("data", AttrOpt SymbolHandle)]--_contrib_MultiBoxPrior ::-                       forall args . Fullfilled "_contrib_MultiBoxPrior(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_MultiBoxPrior(symbol)" args -> IO SymbolHandle-_contrib_MultiBoxPrior name args-  = let scalarArgs-          = catMaybes-              [("sizes",) . showValue <$> (args !? #sizes :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("clip",) . showValue <$> (args !? #clip :: Maybe Bool),-               ("steps",) . showValue <$> (args !? #steps :: Maybe [Float]),-               ("offsets",) . showValue <$> (args !? #offsets :: Maybe [Float])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiBoxPrior"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiBoxPrior(symbol)" = '[]--_backward__contrib_MultiBoxPrior ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiBoxPrior(symbol)" args =>-                                   String ->-                                     ArgsHMap "_backward__contrib_MultiBoxPrior(symbol)" args ->-                                       IO SymbolHandle-_backward__contrib_MultiBoxPrior name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiBoxPrior"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_MultiProposal(symbol)" =-     '[ '("rpn_pre_nms_top_n", AttrOpt Int),-        '("rpn_post_nms_top_n", AttrOpt Int),-        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),-        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),-        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),-        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt SymbolHandle),-        '("bbox_pred", AttrOpt SymbolHandle),-        '("im_info", AttrOpt SymbolHandle)]--_contrib_MultiProposal ::-                       forall args . Fullfilled "_contrib_MultiProposal(symbol)" args =>-                         String ->-                           ArgsHMap "_contrib_MultiProposal(symbol)" args -> IO SymbolHandle-_contrib_MultiProposal name args-  = let scalarArgs-          = catMaybes-              [("rpn_pre_nms_top_n",) . showValue <$>-                 (args !? #rpn_pre_nms_top_n :: Maybe Int),-               ("rpn_post_nms_top_n",) . showValue <$>-                 (args !? #rpn_post_nms_top_n :: Maybe Int),-               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),-               ("rpn_min_size",) . showValue <$>-                 (args !? #rpn_min_size :: Maybe Int),-               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),-               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),-               ("feature_stride",) . showValue <$>-                 (args !? #feature_stride :: Maybe Int),-               ("output_score",) . showValue <$>-                 (args !? #output_score :: Maybe Bool),-               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("cls_prob",) <$> (args !? #cls_prob :: Maybe SymbolHandle),-               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe SymbolHandle),-               ("im_info",) <$> (args !? #im_info :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_MultiProposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_MultiProposal(symbol)" = '[]--_backward__contrib_MultiProposal ::-                                 forall args .-                                   Fullfilled "_backward__contrib_MultiProposal(symbol)" args =>-                                   String ->-                                     ArgsHMap "_backward__contrib_MultiProposal(symbol)" args ->-                                       IO SymbolHandle-_backward__contrib_MultiProposal name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_MultiProposal"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_PSROIPooling(symbol)" =-     '[ '("spatial_scale", AttrReq Float), '("output_dim", AttrReq Int),-        '("pooled_size", AttrReq Int), '("group_size", AttrOpt Int),-        '("data", AttrOpt SymbolHandle), '("rois", AttrOpt SymbolHandle)]--_contrib_PSROIPooling ::-                      forall args . Fullfilled "_contrib_PSROIPooling(symbol)" args =>-                        String ->-                          ArgsHMap "_contrib_PSROIPooling(symbol)" args -> IO SymbolHandle-_contrib_PSROIPooling name args-  = let scalarArgs-          = catMaybes-              [("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float),-               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),-               ("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe Int),-               ("group_size",) . showValue <$> (args !? #group_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_PSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_PSROIPooling(symbol)" = '[]--_backward__contrib_PSROIPooling ::-                                forall args .-                                  Fullfilled "_backward__contrib_PSROIPooling(symbol)" args =>-                                  String ->-                                    ArgsHMap "_backward__contrib_PSROIPooling(symbol)" args ->-                                      IO SymbolHandle-_backward__contrib_PSROIPooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_PSROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_contrib_DeformableConvolution(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("num_deformable_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("layout", AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NCW"]))),-        '("data", AttrOpt SymbolHandle), '("offset", AttrOpt SymbolHandle),-        '("weight", AttrOpt SymbolHandle), '("bias", AttrOpt SymbolHandle)]--_contrib_DeformableConvolution ::-                               forall args .-                                 Fullfilled "_contrib_DeformableConvolution(symbol)" args =>-                                 String ->-                                   ArgsHMap "_contrib_DeformableConvolution(symbol)" args ->-                                     IO SymbolHandle-_contrib_DeformableConvolution name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("num_deformable_group",) . showValue <$>-                 (args !? #num_deformable_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NCW"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("offset",) <$> (args !? #offset :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_DeformableConvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_DeformableConvolution(symbol)" =-     '[]--_backward__contrib_DeformableConvolution ::-                                         forall args .-                                           Fullfilled-                                             "_backward__contrib_DeformableConvolution(symbol)"-                                             args =>-                                           String ->-                                             ArgsHMap-                                               "_backward__contrib_DeformableConvolution(symbol)"-                                               args-                                               -> IO SymbolHandle-_backward__contrib_DeformableConvolution name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_DeformableConvolution"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_contrib_ifft(symbol)" =-     '[ '("compute_size", AttrOpt Int), '("data", AttrOpt SymbolHandle)]--_contrib_ifft ::-              forall args . Fullfilled "_contrib_ifft(symbol)" args =>-                String -> ArgsHMap "_contrib_ifft(symbol)" args -> IO SymbolHandle-_contrib_ifft name args-  = let scalarArgs-          = catMaybes-              [("compute_size",) . showValue <$>-                 (args !? #compute_size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_contrib_ifft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__contrib_ifft(symbol)" = '[]--_backward__contrib_ifft ::-                        forall args . Fullfilled "_backward__contrib_ifft(symbol)" args =>-                          String ->-                            ArgsHMap "_backward__contrib_ifft(symbol)" args -> IO SymbolHandle-_backward__contrib_ifft name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_ifft"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward__contrib_SyncBatchNorm(symbol)" = '[]--_backward__contrib_SyncBatchNorm ::-                                 forall args .-                                   Fullfilled "_backward__contrib_SyncBatchNorm(symbol)" args =>-                                   String ->-                                     ArgsHMap "_backward__contrib_SyncBatchNorm(symbol)" args ->-                                       IO SymbolHandle-_backward__contrib_SyncBatchNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__contrib_SyncBatchNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_InstanceNorm(symbol)" =-     '[ '("eps", AttrOpt Float), '("data", AttrOpt SymbolHandle),-        '("gamma", AttrOpt SymbolHandle), '("beta", AttrOpt SymbolHandle)]--_InstanceNorm ::-              forall args . Fullfilled "_InstanceNorm(symbol)" args =>-                String -> ArgsHMap "_InstanceNorm(symbol)" args -> IO SymbolHandle-_InstanceNorm name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("gamma",) <$> (args !? #gamma :: Maybe SymbolHandle),-               ("beta",) <$> (args !? #beta :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "InstanceNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_InstanceNorm(symbol)" = '[]--_backward_InstanceNorm ::-                       forall args . Fullfilled "_backward_InstanceNorm(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_InstanceNorm(symbol)" args -> IO SymbolHandle-_backward_InstanceNorm name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_InstanceNorm"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SVMOutput(symbol)" =-     '[ '("margin", AttrOpt Float),-        '("regularization_coefficient", AttrOpt Float),-        '("use_linear", AttrOpt Bool), '("data", AttrOpt SymbolHandle),-        '("label", AttrOpt SymbolHandle)]--_SVMOutput ::-           forall args . Fullfilled "_SVMOutput(symbol)" args =>-             String -> ArgsHMap "_SVMOutput(symbol)" args -> IO SymbolHandle-_SVMOutput name args-  = let scalarArgs-          = catMaybes-              [("margin",) . showValue <$> (args !? #margin :: Maybe Float),-               ("regularization_coefficient",) . showValue <$>-                 (args !? #regularization_coefficient :: Maybe Float),-               ("use_linear",) . showValue <$>-                 (args !? #use_linear :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("label",) <$> (args !? #label :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SVMOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SVMOutput(symbol)" = '[]--_backward_SVMOutput ::-                    forall args . Fullfilled "_backward_SVMOutput(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_SVMOutput(symbol)" args -> IO SymbolHandle-_backward_SVMOutput name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SVMOutput"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_GridGenerator(symbol)" =-     '[ '("transform_type", AttrReq (EnumType '["affine", "warp"])),-        '("target_shape", AttrOpt [Int]), '("data", AttrOpt SymbolHandle)]--_GridGenerator ::-               forall args . Fullfilled "_GridGenerator(symbol)" args =>-                 String -> ArgsHMap "_GridGenerator(symbol)" args -> IO SymbolHandle-_GridGenerator name args-  = let scalarArgs-          = catMaybes-              [("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine", "warp"])),-               ("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "GridGenerator"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_GridGenerator(symbol)" = '[]--_backward_GridGenerator ::-                        forall args . Fullfilled "_backward_GridGenerator(symbol)" args =>-                          String ->-                            ArgsHMap "_backward_GridGenerator(symbol)" args -> IO SymbolHandle-_backward_GridGenerator name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_GridGenerator"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Convolution_v1(symbol)" =-     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),-        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),-        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),-        '("cudnn_tune",-          AttrOpt-            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-        '("cudnn_off", AttrOpt Bool),-        '("layout",-          AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"]))),-        '("data", AttrOpt SymbolHandle), '("weight", AttrOpt SymbolHandle),-        '("bias", AttrOpt SymbolHandle)]--_Convolution_v1 ::-                forall args . Fullfilled "_Convolution_v1(symbol)" args =>-                  String ->-                    ArgsHMap "_Convolution_v1(symbol)" args -> IO SymbolHandle-_Convolution_v1 name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),-               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),-               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),-               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),-               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),-               ("cudnn_tune",) . showValue <$>-                 (args !? #cudnn_tune ::-                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),-               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),-               ("layout",) . showValue <$>-                 (args !? #layout ::-                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"])))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("weight",) <$> (args !? #weight :: Maybe SymbolHandle),-               ("bias",) <$> (args !? #bias :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Convolution_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Convolution_v1(symbol)" =-     '[]--_backward_Convolution_v1 ::-                         forall args . Fullfilled "_backward_Convolution_v1(symbol)" args =>-                           String ->-                             ArgsHMap "_backward_Convolution_v1(symbol)" args -> IO SymbolHandle-_backward_Convolution_v1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Convolution_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SequenceReverse(symbol)" =-     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),-        '("data", AttrOpt SymbolHandle),-        '("sequence_length", AttrOpt SymbolHandle)]--_SequenceReverse ::-                 forall args . Fullfilled "_SequenceReverse(symbol)" args =>-                   String ->-                     ArgsHMap "_SequenceReverse(symbol)" args -> IO SymbolHandle-_SequenceReverse name args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceReverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SequenceReverse(symbol)" =-     '[]--_backward_SequenceReverse ::-                          forall args .-                            Fullfilled "_backward_SequenceReverse(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_SequenceReverse(symbol)" args ->-                                IO SymbolHandle-_backward_SequenceReverse name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceReverse"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_BilinearSampler(symbol)" =-     '[ '("cudnn_off", AttrOpt (Maybe Bool)),-        '("data", AttrOpt SymbolHandle), '("grid", AttrOpt SymbolHandle)]--_BilinearSampler ::-                 forall args . Fullfilled "_BilinearSampler(symbol)" args =>-                   String ->-                     ArgsHMap "_BilinearSampler(symbol)" args -> IO SymbolHandle-_BilinearSampler name args-  = let scalarArgs-          = catMaybes-              [("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("grid",) <$> (args !? #grid :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "BilinearSampler"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_BilinearSampler(symbol)" =-     '[]--_backward_BilinearSampler ::-                          forall args .-                            Fullfilled "_backward_BilinearSampler(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_BilinearSampler(symbol)" args ->-                                IO SymbolHandle-_backward_BilinearSampler name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BilinearSampler"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_LeakyReLU(symbol)" = '[]--_backward_LeakyReLU ::-                    forall args . Fullfilled "_backward_LeakyReLU(symbol)" args =>-                      String ->-                        ArgsHMap "_backward_LeakyReLU(symbol)" args -> IO SymbolHandle-_backward_LeakyReLU name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_LeakyReLU"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Crop(symbol)" =-     '[ '("num_args", AttrReq Int), '("offset", AttrOpt [Int]),-        '("h_w", AttrOpt [Int]), '("center_crop", AttrOpt Bool),-        '("data", AttrOpt [SymbolHandle])]--_Crop ::-      forall args . Fullfilled "_Crop(symbol)" args =>-        String -> ArgsHMap "_Crop(symbol)" args -> IO SymbolHandle-_Crop name args-  = let scalarArgs-          = catMaybes-              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),-               ("offset",) . showValue <$> (args !? #offset :: Maybe [Int]),-               ("h_w",) . showValue <$> (args !? #h_w :: Maybe [Int]),-               ("center_crop",) . showValue <$>-                 (args !? #center_crop :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-        array = fromMaybe [] (args !? #data :: Maybe [SymbolHandle])-      in-      do op <- nnGetOpHandle "Crop"-         sym <- if hasKey args #num_args then-                  mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys scalarvals-                  else-                  mxSymbolCreateAtomicSymbol (fromOpHandle op)-                    ("num_args" : scalarkeys)-                    (showValue (length array) : scalarvals)-         mxSymbolCompose sym name Nothing array-         return sym--type instance ParameterList "_backward_Crop(symbol)" = '[]--_backward_Crop ::-               forall args . Fullfilled "_backward_Crop(symbol)" args =>-                 String -> ArgsHMap "_backward_Crop(symbol)" args -> IO SymbolHandle-_backward_Crop name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Crop"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_ROIPooling(symbol)" =-     '[ '("pooled_size", AttrReq [Int]),-        '("spatial_scale", AttrReq Float), '("data", AttrOpt SymbolHandle),-        '("rois", AttrOpt SymbolHandle)]--_ROIPooling ::-            forall args . Fullfilled "_ROIPooling(symbol)" args =>-              String -> ArgsHMap "_ROIPooling(symbol)" args -> IO SymbolHandle-_ROIPooling name args-  = let scalarArgs-          = catMaybes-              [("pooled_size",) . showValue <$>-                 (args !? #pooled_size :: Maybe [Int]),-               ("spatial_scale",) . showValue <$>-                 (args !? #spatial_scale :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("rois",) <$> (args !? #rois :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "ROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_ROIPooling(symbol)" = '[]--_backward_ROIPooling ::-                     forall args . Fullfilled "_backward_ROIPooling(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_ROIPooling(symbol)" args -> IO SymbolHandle-_backward_ROIPooling name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_ROIPooling"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SequenceLast(symbol)" =-     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),-        '("data", AttrOpt SymbolHandle),-        '("sequence_length", AttrOpt SymbolHandle)]--_SequenceLast ::-              forall args . Fullfilled "_SequenceLast(symbol)" args =>-                String -> ArgsHMap "_SequenceLast(symbol)" args -> IO SymbolHandle-_SequenceLast name args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceLast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SequenceLast(symbol)" = '[]--_backward_SequenceLast ::-                       forall args . Fullfilled "_backward_SequenceLast(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_SequenceLast(symbol)" args -> IO SymbolHandle-_backward_SequenceLast name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceLast"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_CrossDeviceCopy(symbol)" = '[]--_CrossDeviceCopy ::-                 forall args . Fullfilled "_CrossDeviceCopy(symbol)" args =>-                   String ->-                     ArgsHMap "_CrossDeviceCopy(symbol)" args -> IO SymbolHandle-_CrossDeviceCopy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_CrossDeviceCopy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward__CrossDeviceCopy(symbol)" =-     '[]--_backward__CrossDeviceCopy ::-                           forall args .-                             Fullfilled "_backward__CrossDeviceCopy(symbol)" args =>-                             String ->-                               ArgsHMap "_backward__CrossDeviceCopy(symbol)" args ->-                                 IO SymbolHandle-_backward__CrossDeviceCopy name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward__CrossDeviceCopy"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SpatialTransformer(symbol)" =-     '[ '("target_shape", AttrOpt [Int]),-        '("transform_type", AttrReq (EnumType '["affine"])),-        '("sampler_type", AttrReq (EnumType '["bilinear"])),-        '("cudnn_off", AttrOpt (Maybe Bool)),-        '("data", AttrOpt SymbolHandle), '("loc", AttrOpt SymbolHandle)]--_SpatialTransformer ::-                    forall args . Fullfilled "_SpatialTransformer(symbol)" args =>-                      String ->-                        ArgsHMap "_SpatialTransformer(symbol)" args -> IO SymbolHandle-_SpatialTransformer name args-  = let scalarArgs-          = catMaybes-              [("target_shape",) . showValue <$>-                 (args !? #target_shape :: Maybe [Int]),-               ("transform_type",) . showValue <$>-                 (args !? #transform_type :: Maybe (EnumType '["affine"])),-               ("sampler_type",) . showValue <$>-                 (args !? #sampler_type :: Maybe (EnumType '["bilinear"])),-               ("cudnn_off",) . showValue <$>-                 (args !? #cudnn_off :: Maybe (Maybe Bool))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("loc",) <$> (args !? #loc :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SpatialTransformer"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SpatialTransformer(symbol)"-     = '[]--_backward_SpatialTransformer ::-                             forall args .-                               Fullfilled "_backward_SpatialTransformer(symbol)" args =>-                               String ->-                                 ArgsHMap "_backward_SpatialTransformer(symbol)" args ->-                                   IO SymbolHandle-_backward_SpatialTransformer name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SpatialTransformer"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SwapAxis(symbol)" = '[]--_backward_SwapAxis ::-                   forall args . Fullfilled "_backward_SwapAxis(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_SwapAxis(symbol)" args -> IO SymbolHandle-_backward_SwapAxis name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SwapAxis"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_L2Normalization(symbol)" =-     '[ '("eps", AttrOpt Float),-        '("mode", AttrOpt (EnumType '["channel", "instance", "spatial"])),-        '("data", AttrOpt SymbolHandle)]--_L2Normalization ::-                 forall args . Fullfilled "_L2Normalization(symbol)" args =>-                   String ->-                     ArgsHMap "_L2Normalization(symbol)" args -> IO SymbolHandle-_L2Normalization name args-  = let scalarArgs-          = catMaybes-              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),-               ("mode",) . showValue <$>-                 (args !? #mode ::-                    Maybe (EnumType '["channel", "instance", "spatial"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "L2Normalization"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_L2Normalization(symbol)" =-     '[]--_backward_L2Normalization ::-                          forall args .-                            Fullfilled "_backward_L2Normalization(symbol)" args =>-                            String ->-                              ArgsHMap "_backward_L2Normalization(symbol)" args ->-                                IO SymbolHandle-_backward_L2Normalization name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_L2Normalization"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Correlation(symbol)" =-     '[ '("kernel_size", AttrOpt Int),-        '("max_displacement", AttrOpt Int), '("stride1", AttrOpt Int),-        '("stride2", AttrOpt Int), '("pad_size", AttrOpt Int),-        '("is_multiply", AttrOpt Bool), '("data1", AttrOpt SymbolHandle),-        '("data2", AttrOpt SymbolHandle)]--_Correlation ::-             forall args . Fullfilled "_Correlation(symbol)" args =>-               String -> ArgsHMap "_Correlation(symbol)" args -> IO SymbolHandle-_Correlation name args-  = let scalarArgs-          = catMaybes-              [("kernel_size",) . showValue <$>-                 (args !? #kernel_size :: Maybe Int),-               ("max_displacement",) . showValue <$>-                 (args !? #max_displacement :: Maybe Int),-               ("stride1",) . showValue <$> (args !? #stride1 :: Maybe Int),-               ("stride2",) . showValue <$> (args !? #stride2 :: Maybe Int),-               ("pad_size",) . showValue <$> (args !? #pad_size :: Maybe Int),-               ("is_multiply",) . showValue <$>-                 (args !? #is_multiply :: Maybe Bool)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data1",) <$> (args !? #data1 :: Maybe SymbolHandle),-               ("data2",) <$> (args !? #data2 :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Correlation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Correlation(symbol)" = '[]--_backward_Correlation ::-                      forall args . Fullfilled "_backward_Correlation(symbol)" args =>-                        String ->-                          ArgsHMap "_backward_Correlation(symbol)" args -> IO SymbolHandle-_backward_Correlation name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Correlation"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance-     ParameterList "_backward_IdentityAttachKLSparseReg(symbol)" = '[]--_backward_IdentityAttachKLSparseReg ::-                                    forall args .-                                      Fullfilled "_backward_IdentityAttachKLSparseReg(symbol)"-                                        args =>-                                      String ->-                                        ArgsHMap "_backward_IdentityAttachKLSparseReg(symbol)" args-                                          -> IO SymbolHandle-_backward_IdentityAttachKLSparseReg name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_IdentityAttachKLSparseReg"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_MakeLoss(symbol)" =-     '[ '("grad_scale", AttrOpt Float),-        '("valid_thresh", AttrOpt Float),-        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),-        '("data", AttrOpt SymbolHandle)]--_MakeLoss ::-          forall args . Fullfilled "_MakeLoss(symbol)" args =>-            String -> ArgsHMap "_MakeLoss(symbol)" args -> IO SymbolHandle-_MakeLoss name args-  = let scalarArgs-          = catMaybes-              [("grad_scale",) . showValue <$>-                 (args !? #grad_scale :: Maybe Float),-               ("valid_thresh",) . showValue <$>-                 (args !? #valid_thresh :: Maybe Float),-               ("normalization",) . showValue <$>-                 (args !? #normalization ::-                    Maybe (EnumType '["batch", "null", "valid"]))]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "MakeLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_MakeLoss(symbol)" = '[]--_backward_MakeLoss ::-                   forall args . Fullfilled "_backward_MakeLoss(symbol)" args =>-                     String ->-                       ArgsHMap "_backward_MakeLoss(symbol)" args -> IO SymbolHandle-_backward_MakeLoss name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_MakeLoss"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SliceChannel(symbol)" = '[]--_backward_SliceChannel ::-                       forall args . Fullfilled "_backward_SliceChannel(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_SliceChannel(symbol)" args -> IO SymbolHandle-_backward_SliceChannel name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SliceChannel"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_Pooling_v1(symbol)" =-     '[ '("kernel", AttrOpt [Int]),-        '("pool_type", AttrOpt (EnumType '["avg", "max", "sum"])),-        '("global_pool", AttrOpt Bool),-        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),-        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),-        '("data", AttrOpt SymbolHandle)]--_Pooling_v1 ::-            forall args . Fullfilled "_Pooling_v1(symbol)" args =>-              String -> ArgsHMap "_Pooling_v1(symbol)" args -> IO SymbolHandle-_Pooling_v1 name args-  = let scalarArgs-          = catMaybes-              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),-               ("pool_type",) . showValue <$>-                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),-               ("global_pool",) . showValue <$>-                 (args !? #global_pool :: Maybe Bool),-               ("pooling_convention",) . showValue <$>-                 (args !? #pooling_convention ::-                    Maybe (EnumType '["full", "valid"])),-               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),-               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("data",) <$> (args !? #data :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "Pooling_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Pooling_v1(symbol)" = '[]--_backward_Pooling_v1 ::-                     forall args . Fullfilled "_backward_Pooling_v1(symbol)" args =>-                       String ->-                         ArgsHMap "_backward_Pooling_v1(symbol)" args -> IO SymbolHandle-_backward_Pooling_v1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pooling_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_Pad(symbol)" = '[]--_backward_Pad ::-              forall args . Fullfilled "_backward_Pad(symbol)" args =>-                String -> ArgsHMap "_backward_Pad(symbol)" args -> IO SymbolHandle-_backward_Pad name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_Pad"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_BatchNorm_v1(symbol)" = '[]--_backward_BatchNorm_v1 ::-                       forall args . Fullfilled "_backward_BatchNorm_v1(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_BatchNorm_v1(symbol)" args -> IO SymbolHandle-_backward_BatchNorm_v1 name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_BatchNorm_v1"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_SequenceMask(symbol)" =-     '[ '("use_sequence_length", AttrOpt Bool),-        '("value", AttrOpt Float), '("axis", AttrOpt Int),-        '("data", AttrOpt SymbolHandle),-        '("sequence_length", AttrOpt SymbolHandle)]--_SequenceMask ::-              forall args . Fullfilled "_SequenceMask(symbol)" args =>-                String -> ArgsHMap "_SequenceMask(symbol)" args -> IO SymbolHandle-_SequenceMask name args-  = let scalarArgs-          = catMaybes-              [("use_sequence_length",) . showValue <$>-                 (args !? #use_sequence_length :: Maybe Bool),-               ("value",) . showValue <$> (args !? #value :: Maybe Float),-               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes-              [("data",) <$> (args !? #data :: Maybe SymbolHandle),-               ("sequence_length",) <$>-                 (args !? #sequence_length :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "SequenceMask"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_backward_SequenceMask(symbol)" = '[]--_backward_SequenceMask ::-                       forall args . Fullfilled "_backward_SequenceMask(symbol)" args =>-                         String ->-                           ArgsHMap "_backward_SequenceMask(symbol)" args -> IO SymbolHandle-_backward_SequenceMask name args-  = let scalarArgs = catMaybes []-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_backward_SequenceMask"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_set_value(symbol)" =-     '[ '("src", AttrOpt Float)]--_set_value ::-           forall args . Fullfilled "_set_value(symbol)" args =>-             String -> ArgsHMap "_set_value(symbol)" args -> IO SymbolHandle-_set_value name args-  = let scalarArgs-          = catMaybes-              [("src",) . showValue <$> (args !? #src :: Maybe Float)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs = catMaybes []-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_set_value"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym--type instance ParameterList "_imdecode(symbol)" =-     '[ '("index", AttrOpt Int), '("x0", AttrOpt Int),-        '("y0", AttrOpt Int), '("x1", AttrOpt Int), '("y1", AttrOpt Int),-        '("c", AttrOpt Int), '("size", AttrOpt Int),-        '("mean", AttrOpt SymbolHandle)]--_imdecode ::-          forall args . Fullfilled "_imdecode(symbol)" args =>-            String -> ArgsHMap "_imdecode(symbol)" args -> IO SymbolHandle-_imdecode name args-  = let scalarArgs-          = catMaybes-              [("index",) . showValue <$> (args !? #index :: Maybe Int),-               ("x0",) . showValue <$> (args !? #x0 :: Maybe Int),-               ("y0",) . showValue <$> (args !? #y0 :: Maybe Int),-               ("x1",) . showValue <$> (args !? #x1 :: Maybe Int),-               ("y1",) . showValue <$> (args !? #y1 :: Maybe Int),-               ("c",) . showValue <$> (args !? #c :: Maybe Int),-               ("size",) . showValue <$> (args !? #size :: Maybe Int)]-        (scalarkeys, scalarvals) = unzip scalarArgs-        tensorArgs-          = catMaybes [("mean",) <$> (args !? #mean :: Maybe SymbolHandle)]-        (tensorkeys, tensorvals) = unzip tensorArgs-      in-      do op <- nnGetOpHandle "_imdecode"-         sym <- mxSymbolCreateAtomicSymbol (fromOpHandle op) scalarkeys-                  scalarvals-         mxSymbolCompose sym name (Just tensorkeys) tensorvals-         return sym
+ ops/1.6/MXNet/Base/DataIter.hs view
@@ -0,0 +1,1055 @@+module MXNet.Base.DataIter where+import RIO+import RIO.List+import RIO.List.Partial ((!!))+import MXNet.Base.Raw+import MXNet.Base.Spec.Operator+import MXNet.Base.Spec.HMap+import Data.Maybe (catMaybes, fromMaybe)++type instance ParameterList "_CSVIter" dummy =+     '[ '("data_csv", AttrReq Text), '("data_shape", AttrReq [Int]),+        '("label_csv", AttrOpt Text), '("label_shape", AttrOpt [Int]),+        '("batch_size", AttrReq Int), '("round_batch", AttrOpt Bool),+        '("prefetch_buffer", AttrOpt Int),+        '("ctx", AttrOpt (EnumType '["cpu", "gpu"])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["float16", "float32", "float64", "int32", "int64", "int8",+                    "uint8"])))]++_CSVIter ::+         forall a . Fullfilled "_CSVIter" () a =>+           ArgsHMap "_CSVIter" () a -> IO DataIterHandle+_CSVIter args+  = let allargs+          = catMaybes+              [("data_csv",) . showValue <$> (args !? #data_csv :: Maybe Text),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("label_csv",) . showValue <$> (args !? #label_csv :: Maybe Text),+               ("label_shape",) . showValue <$>+                 (args !? #label_shape :: Maybe [Int]),+               ("batch_size",) . showValue <$> (args !? #batch_size :: Maybe Int),+               ("round_batch",) . showValue <$>+                 (args !? #round_batch :: Maybe Bool),+               ("prefetch_buffer",) . showValue <$>+                 (args !? #prefetch_buffer :: Maybe Int),+               ("ctx",) . showValue <$>+                 (args !? #ctx :: Maybe (EnumType '["cpu", "gpu"])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["float16", "float32", "float64", "int32", "int64", "int8",+                              "uint8"])))]+        (keys, vals) = unzip allargs+      in+      do dis <- mxListDataIters+         di <- return (dis !! 0)+         mxDataIterCreateIter di keys vals++type instance ParameterList "_ImageDetRecordIter" dummy =+     '[ '("path_imglist", AttrOpt Text), '("path_imgrec", AttrOpt Text),+        '("aug_seq", AttrOpt Text), '("label_width", AttrOpt Int),+        '("data_shape", AttrReq [Int]),+        '("preprocess_threads", AttrOpt Int), '("verbose", AttrOpt Bool),+        '("num_parts", AttrOpt Int), '("part_index", AttrOpt Int),+        '("shuffle_chunk_size", AttrOpt Int),+        '("shuffle_chunk_seed", AttrOpt Int),+        '("label_pad_width", AttrOpt Int),+        '("label_pad_value", AttrOpt Float), '("shuffle", AttrOpt Bool),+        '("seed", AttrOpt Int), '("verbose", AttrOpt Bool),+        '("batch_size", AttrReq Int), '("round_batch", AttrOpt Bool),+        '("prefetch_buffer", AttrOpt Int),+        '("ctx", AttrOpt (EnumType '["cpu", "gpu"])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["float16", "float32", "float64", "int32", "int64", "int8",+                    "uint8"]))),+        '("resize", AttrOpt Int), '("rand_crop_prob", AttrOpt Float),+        '("min_crop_scales", AttrOpt [Float]),+        '("max_crop_scales", AttrOpt [Float]),+        '("min_crop_aspect_ratios", AttrOpt [Float]),+        '("max_crop_aspect_ratios", AttrOpt [Float]),+        '("min_crop_overlaps", AttrOpt [Float]),+        '("max_crop_overlaps", AttrOpt [Float]),+        '("min_crop_sample_coverages", AttrOpt [Float]),+        '("max_crop_sample_coverages", AttrOpt [Float]),+        '("min_crop_object_coverages", AttrOpt [Float]),+        '("max_crop_object_coverages", AttrOpt [Float]),+        '("num_crop_sampler", AttrOpt Int),+        '("crop_emit_mode", AttrOpt (EnumType '["center", "overlap"])),+        '("emit_overlap_thresh", AttrOpt Float),+        '("max_crop_trials", AttrOpt [Int]),+        '("rand_pad_prob", AttrOpt Float),+        '("max_pad_scale", AttrOpt Float),+        '("max_random_hue", AttrOpt Int),+        '("random_hue_prob", AttrOpt Float),+        '("max_random_saturation", AttrOpt Int),+        '("random_saturation_prob", AttrOpt Float),+        '("max_random_illumination", AttrOpt Int),+        '("random_illumination_prob", AttrOpt Float),+        '("max_random_contrast", AttrOpt Float),+        '("random_contrast_prob", AttrOpt Float),+        '("rand_mirror_prob", AttrOpt Float), '("fill_value", AttrOpt Int),+        '("inter_method", AttrOpt Int), '("data_shape", AttrReq [Int]),+        '("resize_mode", AttrOpt (EnumType '["fit", "force", "shrink"])),+        '("seed", AttrOpt Int), '("mean_img", AttrOpt Text),+        '("mean_r", AttrOpt Float), '("mean_g", AttrOpt Float),+        '("mean_b", AttrOpt Float), '("mean_a", AttrOpt Float),+        '("std_r", AttrOpt Float), '("std_g", AttrOpt Float),+        '("std_b", AttrOpt Float), '("std_a", AttrOpt Float),+        '("scale", AttrOpt Float), '("verbose", AttrOpt Bool)]++_ImageDetRecordIter ::+                    forall a . Fullfilled "_ImageDetRecordIter" () a =>+                      ArgsHMap "_ImageDetRecordIter" () a -> IO DataIterHandle+_ImageDetRecordIter args+  = let allargs+          = catMaybes+              [("path_imglist",) . showValue <$>+                 (args !? #path_imglist :: Maybe Text),+               ("path_imgrec",) . showValue <$>+                 (args !? #path_imgrec :: Maybe Text),+               ("aug_seq",) . showValue <$> (args !? #aug_seq :: Maybe Text),+               ("label_width",) . showValue <$>+                 (args !? #label_width :: Maybe Int),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("preprocess_threads",) . showValue <$>+                 (args !? #preprocess_threads :: Maybe Int),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool),+               ("num_parts",) . showValue <$> (args !? #num_parts :: Maybe Int),+               ("part_index",) . showValue <$> (args !? #part_index :: Maybe Int),+               ("shuffle_chunk_size",) . showValue <$>+                 (args !? #shuffle_chunk_size :: Maybe Int),+               ("shuffle_chunk_seed",) . showValue <$>+                 (args !? #shuffle_chunk_seed :: Maybe Int),+               ("label_pad_width",) . showValue <$>+                 (args !? #label_pad_width :: Maybe Int),+               ("label_pad_value",) . showValue <$>+                 (args !? #label_pad_value :: Maybe Float),+               ("shuffle",) . showValue <$> (args !? #shuffle :: Maybe Bool),+               ("seed",) . showValue <$> (args !? #seed :: Maybe Int),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool),+               ("batch_size",) . showValue <$> (args !? #batch_size :: Maybe Int),+               ("round_batch",) . showValue <$>+                 (args !? #round_batch :: Maybe Bool),+               ("prefetch_buffer",) . showValue <$>+                 (args !? #prefetch_buffer :: Maybe Int),+               ("ctx",) . showValue <$>+                 (args !? #ctx :: Maybe (EnumType '["cpu", "gpu"])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["float16", "float32", "float64", "int32", "int64", "int8",+                              "uint8"]))),+               ("resize",) . showValue <$> (args !? #resize :: Maybe Int),+               ("rand_crop_prob",) . showValue <$>+                 (args !? #rand_crop_prob :: Maybe Float),+               ("min_crop_scales",) . showValue <$>+                 (args !? #min_crop_scales :: Maybe [Float]),+               ("max_crop_scales",) . showValue <$>+                 (args !? #max_crop_scales :: Maybe [Float]),+               ("min_crop_aspect_ratios",) . showValue <$>+                 (args !? #min_crop_aspect_ratios :: Maybe [Float]),+               ("max_crop_aspect_ratios",) . showValue <$>+                 (args !? #max_crop_aspect_ratios :: Maybe [Float]),+               ("min_crop_overlaps",) . showValue <$>+                 (args !? #min_crop_overlaps :: Maybe [Float]),+               ("max_crop_overlaps",) . showValue <$>+                 (args !? #max_crop_overlaps :: Maybe [Float]),+               ("min_crop_sample_coverages",) . showValue <$>+                 (args !? #min_crop_sample_coverages :: Maybe [Float]),+               ("max_crop_sample_coverages",) . showValue <$>+                 (args !? #max_crop_sample_coverages :: Maybe [Float]),+               ("min_crop_object_coverages",) . showValue <$>+                 (args !? #min_crop_object_coverages :: Maybe [Float]),+               ("max_crop_object_coverages",) . showValue <$>+                 (args !? #max_crop_object_coverages :: Maybe [Float]),+               ("num_crop_sampler",) . showValue <$>+                 (args !? #num_crop_sampler :: Maybe Int),+               ("crop_emit_mode",) . showValue <$>+                 (args !? #crop_emit_mode ::+                    Maybe (EnumType '["center", "overlap"])),+               ("emit_overlap_thresh",) . showValue <$>+                 (args !? #emit_overlap_thresh :: Maybe Float),+               ("max_crop_trials",) . showValue <$>+                 (args !? #max_crop_trials :: Maybe [Int]),+               ("rand_pad_prob",) . showValue <$>+                 (args !? #rand_pad_prob :: Maybe Float),+               ("max_pad_scale",) . showValue <$>+                 (args !? #max_pad_scale :: Maybe Float),+               ("max_random_hue",) . showValue <$>+                 (args !? #max_random_hue :: Maybe Int),+               ("random_hue_prob",) . showValue <$>+                 (args !? #random_hue_prob :: Maybe Float),+               ("max_random_saturation",) . showValue <$>+                 (args !? #max_random_saturation :: Maybe Int),+               ("random_saturation_prob",) . showValue <$>+                 (args !? #random_saturation_prob :: Maybe Float),+               ("max_random_illumination",) . showValue <$>+                 (args !? #max_random_illumination :: Maybe Int),+               ("random_illumination_prob",) . showValue <$>+                 (args !? #random_illumination_prob :: Maybe Float),+               ("max_random_contrast",) . showValue <$>+                 (args !? #max_random_contrast :: Maybe Float),+               ("random_contrast_prob",) . showValue <$>+                 (args !? #random_contrast_prob :: Maybe Float),+               ("rand_mirror_prob",) . showValue <$>+                 (args !? #rand_mirror_prob :: Maybe Float),+               ("fill_value",) . showValue <$> (args !? #fill_value :: Maybe Int),+               ("inter_method",) . showValue <$>+                 (args !? #inter_method :: Maybe Int),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("resize_mode",) . showValue <$>+                 (args !? #resize_mode ::+                    Maybe (EnumType '["fit", "force", "shrink"])),+               ("seed",) . showValue <$> (args !? #seed :: Maybe Int),+               ("mean_img",) . showValue <$> (args !? #mean_img :: Maybe Text),+               ("mean_r",) . showValue <$> (args !? #mean_r :: Maybe Float),+               ("mean_g",) . showValue <$> (args !? #mean_g :: Maybe Float),+               ("mean_b",) . showValue <$> (args !? #mean_b :: Maybe Float),+               ("mean_a",) . showValue <$> (args !? #mean_a :: Maybe Float),+               ("std_r",) . showValue <$> (args !? #std_r :: Maybe Float),+               ("std_g",) . showValue <$> (args !? #std_g :: Maybe Float),+               ("std_b",) . showValue <$> (args !? #std_b :: Maybe Float),+               ("std_a",) . showValue <$> (args !? #std_a :: Maybe Float),+               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool)]+        (keys, vals) = unzip allargs+      in+      do dis <- mxListDataIters+         di <- return (dis !! 1)+         mxDataIterCreateIter di keys vals++type instance ParameterList "_ImageRecordIter_v1" dummy =+     '[ '("path_imglist", AttrOpt Text), '("path_imgrec", AttrOpt Text),+        '("path_imgidx", AttrOpt Text), '("aug_seq", AttrOpt Text),+        '("label_width", AttrOpt Int), '("data_shape", AttrReq [Int]),+        '("preprocess_threads", AttrOpt Int), '("verbose", AttrOpt Bool),+        '("num_parts", AttrOpt Int), '("part_index", AttrOpt Int),+        '("device_id", AttrOpt Int), '("shuffle_chunk_size", AttrOpt Int),+        '("shuffle_chunk_seed", AttrOpt Int),+        '("seed_aug", AttrOpt (Maybe Int)), '("shuffle", AttrOpt Bool),+        '("seed", AttrOpt Int), '("verbose", AttrOpt Bool),+        '("batch_size", AttrReq Int), '("round_batch", AttrOpt Bool),+        '("prefetch_buffer", AttrOpt Int),+        '("ctx", AttrOpt (EnumType '["cpu", "gpu"])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["float16", "float32", "float64", "int32", "int64", "int8",+                    "uint8"]))),+        '("resize", AttrOpt Int), '("rand_crop", AttrOpt Bool),+        '("random_resized_crop", AttrOpt Bool),+        '("max_rotate_angle", AttrOpt Int),+        '("max_aspect_ratio", AttrOpt Float),+        '("min_aspect_ratio", AttrOpt (Maybe Float)),+        '("max_shear_ratio", AttrOpt Float),+        '("max_crop_size", AttrOpt Int), '("min_crop_size", AttrOpt Int),+        '("max_random_scale", AttrOpt Float),+        '("min_random_scale", AttrOpt Float),+        '("max_random_area", AttrOpt Float),+        '("min_random_area", AttrOpt Float),+        '("max_img_size", AttrOpt Float), '("min_img_size", AttrOpt Float),+        '("brightness", AttrOpt Float), '("contrast", AttrOpt Float),+        '("saturation", AttrOpt Float), '("pca_noise", AttrOpt Float),+        '("random_h", AttrOpt Int), '("random_s", AttrOpt Int),+        '("random_l", AttrOpt Int), '("rotate", AttrOpt Int),+        '("fill_value", AttrOpt Int), '("data_shape", AttrReq [Int]),+        '("inter_method", AttrOpt Int), '("pad", AttrOpt Int),+        '("seed", AttrOpt Int), '("mirror", AttrOpt Bool),+        '("rand_mirror", AttrOpt Bool), '("mean_img", AttrOpt Text),+        '("mean_r", AttrOpt Float), '("mean_g", AttrOpt Float),+        '("mean_b", AttrOpt Float), '("mean_a", AttrOpt Float),+        '("std_r", AttrOpt Float), '("std_g", AttrOpt Float),+        '("std_b", AttrOpt Float), '("std_a", AttrOpt Float),+        '("scale", AttrOpt Float), '("max_random_contrast", AttrOpt Float),+        '("max_random_illumination", AttrOpt Float),+        '("verbose", AttrOpt Bool)]++_ImageRecordIter_v1 ::+                    forall a . Fullfilled "_ImageRecordIter_v1" () a =>+                      ArgsHMap "_ImageRecordIter_v1" () a -> IO DataIterHandle+_ImageRecordIter_v1 args+  = let allargs+          = catMaybes+              [("path_imglist",) . showValue <$>+                 (args !? #path_imglist :: Maybe Text),+               ("path_imgrec",) . showValue <$>+                 (args !? #path_imgrec :: Maybe Text),+               ("path_imgidx",) . showValue <$>+                 (args !? #path_imgidx :: Maybe Text),+               ("aug_seq",) . showValue <$> (args !? #aug_seq :: Maybe Text),+               ("label_width",) . showValue <$>+                 (args !? #label_width :: Maybe Int),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("preprocess_threads",) . showValue <$>+                 (args !? #preprocess_threads :: Maybe Int),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool),+               ("num_parts",) . showValue <$> (args !? #num_parts :: Maybe Int),+               ("part_index",) . showValue <$> (args !? #part_index :: Maybe Int),+               ("device_id",) . showValue <$> (args !? #device_id :: Maybe Int),+               ("shuffle_chunk_size",) . showValue <$>+                 (args !? #shuffle_chunk_size :: Maybe Int),+               ("shuffle_chunk_seed",) . showValue <$>+                 (args !? #shuffle_chunk_seed :: Maybe Int),+               ("seed_aug",) . showValue <$>+                 (args !? #seed_aug :: Maybe (Maybe Int)),+               ("shuffle",) . showValue <$> (args !? #shuffle :: Maybe Bool),+               ("seed",) . showValue <$> (args !? #seed :: Maybe Int),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool),+               ("batch_size",) . showValue <$> (args !? #batch_size :: Maybe Int),+               ("round_batch",) . showValue <$>+                 (args !? #round_batch :: Maybe Bool),+               ("prefetch_buffer",) . showValue <$>+                 (args !? #prefetch_buffer :: Maybe Int),+               ("ctx",) . showValue <$>+                 (args !? #ctx :: Maybe (EnumType '["cpu", "gpu"])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["float16", "float32", "float64", "int32", "int64", "int8",+                              "uint8"]))),+               ("resize",) . showValue <$> (args !? #resize :: Maybe Int),+               ("rand_crop",) . showValue <$> (args !? #rand_crop :: Maybe Bool),+               ("random_resized_crop",) . showValue <$>+                 (args !? #random_resized_crop :: Maybe Bool),+               ("max_rotate_angle",) . showValue <$>+                 (args !? #max_rotate_angle :: Maybe Int),+               ("max_aspect_ratio",) . showValue <$>+                 (args !? #max_aspect_ratio :: Maybe Float),+               ("min_aspect_ratio",) . showValue <$>+                 (args !? #min_aspect_ratio :: Maybe (Maybe Float)),+               ("max_shear_ratio",) . showValue <$>+                 (args !? #max_shear_ratio :: Maybe Float),+               ("max_crop_size",) . showValue <$>+                 (args !? #max_crop_size :: Maybe Int),+               ("min_crop_size",) . showValue <$>+                 (args !? #min_crop_size :: Maybe Int),+               ("max_random_scale",) . showValue <$>+                 (args !? #max_random_scale :: Maybe Float),+               ("min_random_scale",) . showValue <$>+                 (args !? #min_random_scale :: Maybe Float),+               ("max_random_area",) . showValue <$>+                 (args !? #max_random_area :: Maybe Float),+               ("min_random_area",) . showValue <$>+                 (args !? #min_random_area :: Maybe Float),+               ("max_img_size",) . showValue <$>+                 (args !? #max_img_size :: Maybe Float),+               ("min_img_size",) . showValue <$>+                 (args !? #min_img_size :: Maybe Float),+               ("brightness",) . showValue <$>+                 (args !? #brightness :: Maybe Float),+               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),+               ("saturation",) . showValue <$>+                 (args !? #saturation :: Maybe Float),+               ("pca_noise",) . showValue <$> (args !? #pca_noise :: Maybe Float),+               ("random_h",) . showValue <$> (args !? #random_h :: Maybe Int),+               ("random_s",) . showValue <$> (args !? #random_s :: Maybe Int),+               ("random_l",) . showValue <$> (args !? #random_l :: Maybe Int),+               ("rotate",) . showValue <$> (args !? #rotate :: Maybe Int),+               ("fill_value",) . showValue <$> (args !? #fill_value :: Maybe Int),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("inter_method",) . showValue <$>+                 (args !? #inter_method :: Maybe Int),+               ("pad",) . showValue <$> (args !? #pad :: Maybe Int),+               ("seed",) . showValue <$> (args !? #seed :: Maybe Int),+               ("mirror",) . showValue <$> (args !? #mirror :: Maybe Bool),+               ("rand_mirror",) . showValue <$>+                 (args !? #rand_mirror :: Maybe Bool),+               ("mean_img",) . showValue <$> (args !? #mean_img :: Maybe Text),+               ("mean_r",) . showValue <$> (args !? #mean_r :: Maybe Float),+               ("mean_g",) . showValue <$> (args !? #mean_g :: Maybe Float),+               ("mean_b",) . showValue <$> (args !? #mean_b :: Maybe Float),+               ("mean_a",) . showValue <$> (args !? #mean_a :: Maybe Float),+               ("std_r",) . showValue <$> (args !? #std_r :: Maybe Float),+               ("std_g",) . showValue <$> (args !? #std_g :: Maybe Float),+               ("std_b",) . showValue <$> (args !? #std_b :: Maybe Float),+               ("std_a",) . showValue <$> (args !? #std_a :: Maybe Float),+               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),+               ("max_random_contrast",) . showValue <$>+                 (args !? #max_random_contrast :: Maybe Float),+               ("max_random_illumination",) . showValue <$>+                 (args !? #max_random_illumination :: Maybe Float),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool)]+        (keys, vals) = unzip allargs+      in+      do dis <- mxListDataIters+         di <- return (dis !! 2)+         mxDataIterCreateIter di keys vals++type instance ParameterList "_ImageRecordUInt8Iter_v1" dummy =+     '[ '("path_imglist", AttrOpt Text), '("path_imgrec", AttrOpt Text),+        '("path_imgidx", AttrOpt Text), '("aug_seq", AttrOpt Text),+        '("label_width", AttrOpt Int), '("data_shape", AttrReq [Int]),+        '("preprocess_threads", AttrOpt Int), '("verbose", AttrOpt Bool),+        '("num_parts", AttrOpt Int), '("part_index", AttrOpt Int),+        '("device_id", AttrOpt Int), '("shuffle_chunk_size", AttrOpt Int),+        '("shuffle_chunk_seed", AttrOpt Int),+        '("seed_aug", AttrOpt (Maybe Int)), '("shuffle", AttrOpt Bool),+        '("seed", AttrOpt Int), '("verbose", AttrOpt Bool),+        '("batch_size", AttrReq Int), '("round_batch", AttrOpt Bool),+        '("prefetch_buffer", AttrOpt Int),+        '("ctx", AttrOpt (EnumType '["cpu", "gpu"])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["float16", "float32", "float64", "int32", "int64", "int8",+                    "uint8"]))),+        '("resize", AttrOpt Int), '("rand_crop", AttrOpt Bool),+        '("random_resized_crop", AttrOpt Bool),+        '("max_rotate_angle", AttrOpt Int),+        '("max_aspect_ratio", AttrOpt Float),+        '("min_aspect_ratio", AttrOpt (Maybe Float)),+        '("max_shear_ratio", AttrOpt Float),+        '("max_crop_size", AttrOpt Int), '("min_crop_size", AttrOpt Int),+        '("max_random_scale", AttrOpt Float),+        '("min_random_scale", AttrOpt Float),+        '("max_random_area", AttrOpt Float),+        '("min_random_area", AttrOpt Float),+        '("max_img_size", AttrOpt Float), '("min_img_size", AttrOpt Float),+        '("brightness", AttrOpt Float), '("contrast", AttrOpt Float),+        '("saturation", AttrOpt Float), '("pca_noise", AttrOpt Float),+        '("random_h", AttrOpt Int), '("random_s", AttrOpt Int),+        '("random_l", AttrOpt Int), '("rotate", AttrOpt Int),+        '("fill_value", AttrOpt Int), '("data_shape", AttrReq [Int]),+        '("inter_method", AttrOpt Int), '("pad", AttrOpt Int)]++_ImageRecordUInt8Iter_v1 ::+                         forall a . Fullfilled "_ImageRecordUInt8Iter_v1" () a =>+                           ArgsHMap "_ImageRecordUInt8Iter_v1" () a -> IO DataIterHandle+_ImageRecordUInt8Iter_v1 args+  = let allargs+          = catMaybes+              [("path_imglist",) . showValue <$>+                 (args !? #path_imglist :: Maybe Text),+               ("path_imgrec",) . showValue <$>+                 (args !? #path_imgrec :: Maybe Text),+               ("path_imgidx",) . showValue <$>+                 (args !? #path_imgidx :: Maybe Text),+               ("aug_seq",) . showValue <$> (args !? #aug_seq :: Maybe Text),+               ("label_width",) . showValue <$>+                 (args !? #label_width :: Maybe Int),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("preprocess_threads",) . showValue <$>+                 (args !? #preprocess_threads :: Maybe Int),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool),+               ("num_parts",) . showValue <$> (args !? #num_parts :: Maybe Int),+               ("part_index",) . showValue <$> (args !? #part_index :: Maybe Int),+               ("device_id",) . showValue <$> (args !? #device_id :: Maybe Int),+               ("shuffle_chunk_size",) . showValue <$>+                 (args !? #shuffle_chunk_size :: Maybe Int),+               ("shuffle_chunk_seed",) . showValue <$>+                 (args !? #shuffle_chunk_seed :: Maybe Int),+               ("seed_aug",) . showValue <$>+                 (args !? #seed_aug :: Maybe (Maybe Int)),+               ("shuffle",) . showValue <$> (args !? #shuffle :: Maybe Bool),+               ("seed",) . showValue <$> (args !? #seed :: Maybe Int),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool),+               ("batch_size",) . showValue <$> (args !? #batch_size :: Maybe Int),+               ("round_batch",) . showValue <$>+                 (args !? #round_batch :: Maybe Bool),+               ("prefetch_buffer",) . showValue <$>+                 (args !? #prefetch_buffer :: Maybe Int),+               ("ctx",) . showValue <$>+                 (args !? #ctx :: Maybe (EnumType '["cpu", "gpu"])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["float16", "float32", "float64", "int32", "int64", "int8",+                              "uint8"]))),+               ("resize",) . showValue <$> (args !? #resize :: Maybe Int),+               ("rand_crop",) . showValue <$> (args !? #rand_crop :: Maybe Bool),+               ("random_resized_crop",) . showValue <$>+                 (args !? #random_resized_crop :: Maybe Bool),+               ("max_rotate_angle",) . showValue <$>+                 (args !? #max_rotate_angle :: Maybe Int),+               ("max_aspect_ratio",) . showValue <$>+                 (args !? #max_aspect_ratio :: Maybe Float),+               ("min_aspect_ratio",) . showValue <$>+                 (args !? #min_aspect_ratio :: Maybe (Maybe Float)),+               ("max_shear_ratio",) . showValue <$>+                 (args !? #max_shear_ratio :: Maybe Float),+               ("max_crop_size",) . showValue <$>+                 (args !? #max_crop_size :: Maybe Int),+               ("min_crop_size",) . showValue <$>+                 (args !? #min_crop_size :: Maybe Int),+               ("max_random_scale",) . showValue <$>+                 (args !? #max_random_scale :: Maybe Float),+               ("min_random_scale",) . showValue <$>+                 (args !? #min_random_scale :: Maybe Float),+               ("max_random_area",) . showValue <$>+                 (args !? #max_random_area :: Maybe Float),+               ("min_random_area",) . showValue <$>+                 (args !? #min_random_area :: Maybe Float),+               ("max_img_size",) . showValue <$>+                 (args !? #max_img_size :: Maybe Float),+               ("min_img_size",) . showValue <$>+                 (args !? #min_img_size :: Maybe Float),+               ("brightness",) . showValue <$>+                 (args !? #brightness :: Maybe Float),+               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),+               ("saturation",) . showValue <$>+                 (args !? #saturation :: Maybe Float),+               ("pca_noise",) . showValue <$> (args !? #pca_noise :: Maybe Float),+               ("random_h",) . showValue <$> (args !? #random_h :: Maybe Int),+               ("random_s",) . showValue <$> (args !? #random_s :: Maybe Int),+               ("random_l",) . showValue <$> (args !? #random_l :: Maybe Int),+               ("rotate",) . showValue <$> (args !? #rotate :: Maybe Int),+               ("fill_value",) . showValue <$> (args !? #fill_value :: Maybe Int),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("inter_method",) . showValue <$>+                 (args !? #inter_method :: Maybe Int),+               ("pad",) . showValue <$> (args !? #pad :: Maybe Int)]+        (keys, vals) = unzip allargs+      in+      do dis <- mxListDataIters+         di <- return (dis !! 3)+         mxDataIterCreateIter di keys vals++type instance ParameterList "_ImageRecordIter" dummy =+     '[ '("path_imglist", AttrOpt Text), '("path_imgrec", AttrOpt Text),+        '("path_imgidx", AttrOpt Text), '("aug_seq", AttrOpt Text),+        '("label_width", AttrOpt Int), '("data_shape", AttrReq [Int]),+        '("preprocess_threads", AttrOpt Int), '("verbose", AttrOpt Bool),+        '("num_parts", AttrOpt Int), '("part_index", AttrOpt Int),+        '("device_id", AttrOpt Int), '("shuffle_chunk_size", AttrOpt Int),+        '("shuffle_chunk_seed", AttrOpt Int),+        '("seed_aug", AttrOpt (Maybe Int)), '("shuffle", AttrOpt Bool),+        '("seed", AttrOpt Int), '("verbose", AttrOpt Bool),+        '("batch_size", AttrReq Int), '("round_batch", AttrOpt Bool),+        '("prefetch_buffer", AttrOpt Int),+        '("ctx", AttrOpt (EnumType '["cpu", "gpu"])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["float16", "float32", "float64", "int32", "int64", "int8",+                    "uint8"]))),+        '("resize", AttrOpt Int), '("rand_crop", AttrOpt Bool),+        '("random_resized_crop", AttrOpt Bool),+        '("max_rotate_angle", AttrOpt Int),+        '("max_aspect_ratio", AttrOpt Float),+        '("min_aspect_ratio", AttrOpt (Maybe Float)),+        '("max_shear_ratio", AttrOpt Float),+        '("max_crop_size", AttrOpt Int), '("min_crop_size", AttrOpt Int),+        '("max_random_scale", AttrOpt Float),+        '("min_random_scale", AttrOpt Float),+        '("max_random_area", AttrOpt Float),+        '("min_random_area", AttrOpt Float),+        '("max_img_size", AttrOpt Float), '("min_img_size", AttrOpt Float),+        '("brightness", AttrOpt Float), '("contrast", AttrOpt Float),+        '("saturation", AttrOpt Float), '("pca_noise", AttrOpt Float),+        '("random_h", AttrOpt Int), '("random_s", AttrOpt Int),+        '("random_l", AttrOpt Int), '("rotate", AttrOpt Int),+        '("fill_value", AttrOpt Int), '("data_shape", AttrReq [Int]),+        '("inter_method", AttrOpt Int), '("pad", AttrOpt Int),+        '("seed", AttrOpt Int), '("mirror", AttrOpt Bool),+        '("rand_mirror", AttrOpt Bool), '("mean_img", AttrOpt Text),+        '("mean_r", AttrOpt Float), '("mean_g", AttrOpt Float),+        '("mean_b", AttrOpt Float), '("mean_a", AttrOpt Float),+        '("std_r", AttrOpt Float), '("std_g", AttrOpt Float),+        '("std_b", AttrOpt Float), '("std_a", AttrOpt Float),+        '("scale", AttrOpt Float), '("max_random_contrast", AttrOpt Float),+        '("max_random_illumination", AttrOpt Float),+        '("verbose", AttrOpt Bool)]++_ImageRecordIter ::+                 forall a . Fullfilled "_ImageRecordIter" () a =>+                   ArgsHMap "_ImageRecordIter" () a -> IO DataIterHandle+_ImageRecordIter args+  = let allargs+          = catMaybes+              [("path_imglist",) . showValue <$>+                 (args !? #path_imglist :: Maybe Text),+               ("path_imgrec",) . showValue <$>+                 (args !? #path_imgrec :: Maybe Text),+               ("path_imgidx",) . showValue <$>+                 (args !? #path_imgidx :: Maybe Text),+               ("aug_seq",) . showValue <$> (args !? #aug_seq :: Maybe Text),+               ("label_width",) . showValue <$>+                 (args !? #label_width :: Maybe Int),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("preprocess_threads",) . showValue <$>+                 (args !? #preprocess_threads :: Maybe Int),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool),+               ("num_parts",) . showValue <$> (args !? #num_parts :: Maybe Int),+               ("part_index",) . showValue <$> (args !? #part_index :: Maybe Int),+               ("device_id",) . showValue <$> (args !? #device_id :: Maybe Int),+               ("shuffle_chunk_size",) . showValue <$>+                 (args !? #shuffle_chunk_size :: Maybe Int),+               ("shuffle_chunk_seed",) . showValue <$>+                 (args !? #shuffle_chunk_seed :: Maybe Int),+               ("seed_aug",) . showValue <$>+                 (args !? #seed_aug :: Maybe (Maybe Int)),+               ("shuffle",) . showValue <$> (args !? #shuffle :: Maybe Bool),+               ("seed",) . showValue <$> (args !? #seed :: Maybe Int),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool),+               ("batch_size",) . showValue <$> (args !? #batch_size :: Maybe Int),+               ("round_batch",) . showValue <$>+                 (args !? #round_batch :: Maybe Bool),+               ("prefetch_buffer",) . showValue <$>+                 (args !? #prefetch_buffer :: Maybe Int),+               ("ctx",) . showValue <$>+                 (args !? #ctx :: Maybe (EnumType '["cpu", "gpu"])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["float16", "float32", "float64", "int32", "int64", "int8",+                              "uint8"]))),+               ("resize",) . showValue <$> (args !? #resize :: Maybe Int),+               ("rand_crop",) . showValue <$> (args !? #rand_crop :: Maybe Bool),+               ("random_resized_crop",) . showValue <$>+                 (args !? #random_resized_crop :: Maybe Bool),+               ("max_rotate_angle",) . showValue <$>+                 (args !? #max_rotate_angle :: Maybe Int),+               ("max_aspect_ratio",) . showValue <$>+                 (args !? #max_aspect_ratio :: Maybe Float),+               ("min_aspect_ratio",) . showValue <$>+                 (args !? #min_aspect_ratio :: Maybe (Maybe Float)),+               ("max_shear_ratio",) . showValue <$>+                 (args !? #max_shear_ratio :: Maybe Float),+               ("max_crop_size",) . showValue <$>+                 (args !? #max_crop_size :: Maybe Int),+               ("min_crop_size",) . showValue <$>+                 (args !? #min_crop_size :: Maybe Int),+               ("max_random_scale",) . showValue <$>+                 (args !? #max_random_scale :: Maybe Float),+               ("min_random_scale",) . showValue <$>+                 (args !? #min_random_scale :: Maybe Float),+               ("max_random_area",) . showValue <$>+                 (args !? #max_random_area :: Maybe Float),+               ("min_random_area",) . showValue <$>+                 (args !? #min_random_area :: Maybe Float),+               ("max_img_size",) . showValue <$>+                 (args !? #max_img_size :: Maybe Float),+               ("min_img_size",) . showValue <$>+                 (args !? #min_img_size :: Maybe Float),+               ("brightness",) . showValue <$>+                 (args !? #brightness :: Maybe Float),+               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),+               ("saturation",) . showValue <$>+                 (args !? #saturation :: Maybe Float),+               ("pca_noise",) . showValue <$> (args !? #pca_noise :: Maybe Float),+               ("random_h",) . showValue <$> (args !? #random_h :: Maybe Int),+               ("random_s",) . showValue <$> (args !? #random_s :: Maybe Int),+               ("random_l",) . showValue <$> (args !? #random_l :: Maybe Int),+               ("rotate",) . showValue <$> (args !? #rotate :: Maybe Int),+               ("fill_value",) . showValue <$> (args !? #fill_value :: Maybe Int),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("inter_method",) . showValue <$>+                 (args !? #inter_method :: Maybe Int),+               ("pad",) . showValue <$> (args !? #pad :: Maybe Int),+               ("seed",) . showValue <$> (args !? #seed :: Maybe Int),+               ("mirror",) . showValue <$> (args !? #mirror :: Maybe Bool),+               ("rand_mirror",) . showValue <$>+                 (args !? #rand_mirror :: Maybe Bool),+               ("mean_img",) . showValue <$> (args !? #mean_img :: Maybe Text),+               ("mean_r",) . showValue <$> (args !? #mean_r :: Maybe Float),+               ("mean_g",) . showValue <$> (args !? #mean_g :: Maybe Float),+               ("mean_b",) . showValue <$> (args !? #mean_b :: Maybe Float),+               ("mean_a",) . showValue <$> (args !? #mean_a :: Maybe Float),+               ("std_r",) . showValue <$> (args !? #std_r :: Maybe Float),+               ("std_g",) . showValue <$> (args !? #std_g :: Maybe Float),+               ("std_b",) . showValue <$> (args !? #std_b :: Maybe Float),+               ("std_a",) . showValue <$> (args !? #std_a :: Maybe Float),+               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),+               ("max_random_contrast",) . showValue <$>+                 (args !? #max_random_contrast :: Maybe Float),+               ("max_random_illumination",) . showValue <$>+                 (args !? #max_random_illumination :: Maybe Float),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool)]+        (keys, vals) = unzip allargs+      in+      do dis <- mxListDataIters+         di <- return (dis !! 4)+         mxDataIterCreateIter di keys vals++type instance ParameterList "_ImageRecordUInt8Iter" dummy =+     '[ '("path_imglist", AttrOpt Text), '("path_imgrec", AttrOpt Text),+        '("path_imgidx", AttrOpt Text), '("aug_seq", AttrOpt Text),+        '("label_width", AttrOpt Int), '("data_shape", AttrReq [Int]),+        '("preprocess_threads", AttrOpt Int), '("verbose", AttrOpt Bool),+        '("num_parts", AttrOpt Int), '("part_index", AttrOpt Int),+        '("device_id", AttrOpt Int), '("shuffle_chunk_size", AttrOpt Int),+        '("shuffle_chunk_seed", AttrOpt Int),+        '("seed_aug", AttrOpt (Maybe Int)), '("shuffle", AttrOpt Bool),+        '("seed", AttrOpt Int), '("verbose", AttrOpt Bool),+        '("batch_size", AttrReq Int), '("round_batch", AttrOpt Bool),+        '("prefetch_buffer", AttrOpt Int),+        '("ctx", AttrOpt (EnumType '["cpu", "gpu"])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["float16", "float32", "float64", "int32", "int64", "int8",+                    "uint8"]))),+        '("resize", AttrOpt Int), '("rand_crop", AttrOpt Bool),+        '("random_resized_crop", AttrOpt Bool),+        '("max_rotate_angle", AttrOpt Int),+        '("max_aspect_ratio", AttrOpt Float),+        '("min_aspect_ratio", AttrOpt (Maybe Float)),+        '("max_shear_ratio", AttrOpt Float),+        '("max_crop_size", AttrOpt Int), '("min_crop_size", AttrOpt Int),+        '("max_random_scale", AttrOpt Float),+        '("min_random_scale", AttrOpt Float),+        '("max_random_area", AttrOpt Float),+        '("min_random_area", AttrOpt Float),+        '("max_img_size", AttrOpt Float), '("min_img_size", AttrOpt Float),+        '("brightness", AttrOpt Float), '("contrast", AttrOpt Float),+        '("saturation", AttrOpt Float), '("pca_noise", AttrOpt Float),+        '("random_h", AttrOpt Int), '("random_s", AttrOpt Int),+        '("random_l", AttrOpt Int), '("rotate", AttrOpt Int),+        '("fill_value", AttrOpt Int), '("data_shape", AttrReq [Int]),+        '("inter_method", AttrOpt Int), '("pad", AttrOpt Int)]++_ImageRecordUInt8Iter ::+                      forall a . Fullfilled "_ImageRecordUInt8Iter" () a =>+                        ArgsHMap "_ImageRecordUInt8Iter" () a -> IO DataIterHandle+_ImageRecordUInt8Iter args+  = let allargs+          = catMaybes+              [("path_imglist",) . showValue <$>+                 (args !? #path_imglist :: Maybe Text),+               ("path_imgrec",) . showValue <$>+                 (args !? #path_imgrec :: Maybe Text),+               ("path_imgidx",) . showValue <$>+                 (args !? #path_imgidx :: Maybe Text),+               ("aug_seq",) . showValue <$> (args !? #aug_seq :: Maybe Text),+               ("label_width",) . showValue <$>+                 (args !? #label_width :: Maybe Int),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("preprocess_threads",) . showValue <$>+                 (args !? #preprocess_threads :: Maybe Int),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool),+               ("num_parts",) . showValue <$> (args !? #num_parts :: Maybe Int),+               ("part_index",) . showValue <$> (args !? #part_index :: Maybe Int),+               ("device_id",) . showValue <$> (args !? #device_id :: Maybe Int),+               ("shuffle_chunk_size",) . showValue <$>+                 (args !? #shuffle_chunk_size :: Maybe Int),+               ("shuffle_chunk_seed",) . showValue <$>+                 (args !? #shuffle_chunk_seed :: Maybe Int),+               ("seed_aug",) . showValue <$>+                 (args !? #seed_aug :: Maybe (Maybe Int)),+               ("shuffle",) . showValue <$> (args !? #shuffle :: Maybe Bool),+               ("seed",) . showValue <$> (args !? #seed :: Maybe Int),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool),+               ("batch_size",) . showValue <$> (args !? #batch_size :: Maybe Int),+               ("round_batch",) . showValue <$>+                 (args !? #round_batch :: Maybe Bool),+               ("prefetch_buffer",) . showValue <$>+                 (args !? #prefetch_buffer :: Maybe Int),+               ("ctx",) . showValue <$>+                 (args !? #ctx :: Maybe (EnumType '["cpu", "gpu"])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["float16", "float32", "float64", "int32", "int64", "int8",+                              "uint8"]))),+               ("resize",) . showValue <$> (args !? #resize :: Maybe Int),+               ("rand_crop",) . showValue <$> (args !? #rand_crop :: Maybe Bool),+               ("random_resized_crop",) . showValue <$>+                 (args !? #random_resized_crop :: Maybe Bool),+               ("max_rotate_angle",) . showValue <$>+                 (args !? #max_rotate_angle :: Maybe Int),+               ("max_aspect_ratio",) . showValue <$>+                 (args !? #max_aspect_ratio :: Maybe Float),+               ("min_aspect_ratio",) . showValue <$>+                 (args !? #min_aspect_ratio :: Maybe (Maybe Float)),+               ("max_shear_ratio",) . showValue <$>+                 (args !? #max_shear_ratio :: Maybe Float),+               ("max_crop_size",) . showValue <$>+                 (args !? #max_crop_size :: Maybe Int),+               ("min_crop_size",) . showValue <$>+                 (args !? #min_crop_size :: Maybe Int),+               ("max_random_scale",) . showValue <$>+                 (args !? #max_random_scale :: Maybe Float),+               ("min_random_scale",) . showValue <$>+                 (args !? #min_random_scale :: Maybe Float),+               ("max_random_area",) . showValue <$>+                 (args !? #max_random_area :: Maybe Float),+               ("min_random_area",) . showValue <$>+                 (args !? #min_random_area :: Maybe Float),+               ("max_img_size",) . showValue <$>+                 (args !? #max_img_size :: Maybe Float),+               ("min_img_size",) . showValue <$>+                 (args !? #min_img_size :: Maybe Float),+               ("brightness",) . showValue <$>+                 (args !? #brightness :: Maybe Float),+               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),+               ("saturation",) . showValue <$>+                 (args !? #saturation :: Maybe Float),+               ("pca_noise",) . showValue <$> (args !? #pca_noise :: Maybe Float),+               ("random_h",) . showValue <$> (args !? #random_h :: Maybe Int),+               ("random_s",) . showValue <$> (args !? #random_s :: Maybe Int),+               ("random_l",) . showValue <$> (args !? #random_l :: Maybe Int),+               ("rotate",) . showValue <$> (args !? #rotate :: Maybe Int),+               ("fill_value",) . showValue <$> (args !? #fill_value :: Maybe Int),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("inter_method",) . showValue <$>+                 (args !? #inter_method :: Maybe Int),+               ("pad",) . showValue <$> (args !? #pad :: Maybe Int)]+        (keys, vals) = unzip allargs+      in+      do dis <- mxListDataIters+         di <- return (dis !! 5)+         mxDataIterCreateIter di keys vals++type instance ParameterList "_ImageRecordInt8Iter" dummy =+     '[ '("path_imglist", AttrOpt Text), '("path_imgrec", AttrOpt Text),+        '("path_imgidx", AttrOpt Text), '("aug_seq", AttrOpt Text),+        '("label_width", AttrOpt Int), '("data_shape", AttrReq [Int]),+        '("preprocess_threads", AttrOpt Int), '("verbose", AttrOpt Bool),+        '("num_parts", AttrOpt Int), '("part_index", AttrOpt Int),+        '("device_id", AttrOpt Int), '("shuffle_chunk_size", AttrOpt Int),+        '("shuffle_chunk_seed", AttrOpt Int),+        '("seed_aug", AttrOpt (Maybe Int)), '("shuffle", AttrOpt Bool),+        '("seed", AttrOpt Int), '("verbose", AttrOpt Bool),+        '("batch_size", AttrReq Int), '("round_batch", AttrOpt Bool),+        '("prefetch_buffer", AttrOpt Int),+        '("ctx", AttrOpt (EnumType '["cpu", "gpu"])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["float16", "float32", "float64", "int32", "int64", "int8",+                    "uint8"]))),+        '("resize", AttrOpt Int), '("rand_crop", AttrOpt Bool),+        '("random_resized_crop", AttrOpt Bool),+        '("max_rotate_angle", AttrOpt Int),+        '("max_aspect_ratio", AttrOpt Float),+        '("min_aspect_ratio", AttrOpt (Maybe Float)),+        '("max_shear_ratio", AttrOpt Float),+        '("max_crop_size", AttrOpt Int), '("min_crop_size", AttrOpt Int),+        '("max_random_scale", AttrOpt Float),+        '("min_random_scale", AttrOpt Float),+        '("max_random_area", AttrOpt Float),+        '("min_random_area", AttrOpt Float),+        '("max_img_size", AttrOpt Float), '("min_img_size", AttrOpt Float),+        '("brightness", AttrOpt Float), '("contrast", AttrOpt Float),+        '("saturation", AttrOpt Float), '("pca_noise", AttrOpt Float),+        '("random_h", AttrOpt Int), '("random_s", AttrOpt Int),+        '("random_l", AttrOpt Int), '("rotate", AttrOpt Int),+        '("fill_value", AttrOpt Int), '("data_shape", AttrReq [Int]),+        '("inter_method", AttrOpt Int), '("pad", AttrOpt Int)]++_ImageRecordInt8Iter ::+                     forall a . Fullfilled "_ImageRecordInt8Iter" () a =>+                       ArgsHMap "_ImageRecordInt8Iter" () a -> IO DataIterHandle+_ImageRecordInt8Iter args+  = let allargs+          = catMaybes+              [("path_imglist",) . showValue <$>+                 (args !? #path_imglist :: Maybe Text),+               ("path_imgrec",) . showValue <$>+                 (args !? #path_imgrec :: Maybe Text),+               ("path_imgidx",) . showValue <$>+                 (args !? #path_imgidx :: Maybe Text),+               ("aug_seq",) . showValue <$> (args !? #aug_seq :: Maybe Text),+               ("label_width",) . showValue <$>+                 (args !? #label_width :: Maybe Int),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("preprocess_threads",) . showValue <$>+                 (args !? #preprocess_threads :: Maybe Int),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool),+               ("num_parts",) . showValue <$> (args !? #num_parts :: Maybe Int),+               ("part_index",) . showValue <$> (args !? #part_index :: Maybe Int),+               ("device_id",) . showValue <$> (args !? #device_id :: Maybe Int),+               ("shuffle_chunk_size",) . showValue <$>+                 (args !? #shuffle_chunk_size :: Maybe Int),+               ("shuffle_chunk_seed",) . showValue <$>+                 (args !? #shuffle_chunk_seed :: Maybe Int),+               ("seed_aug",) . showValue <$>+                 (args !? #seed_aug :: Maybe (Maybe Int)),+               ("shuffle",) . showValue <$> (args !? #shuffle :: Maybe Bool),+               ("seed",) . showValue <$> (args !? #seed :: Maybe Int),+               ("verbose",) . showValue <$> (args !? #verbose :: Maybe Bool),+               ("batch_size",) . showValue <$> (args !? #batch_size :: Maybe Int),+               ("round_batch",) . showValue <$>+                 (args !? #round_batch :: Maybe Bool),+               ("prefetch_buffer",) . showValue <$>+                 (args !? #prefetch_buffer :: Maybe Int),+               ("ctx",) . showValue <$>+                 (args !? #ctx :: Maybe (EnumType '["cpu", "gpu"])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["float16", "float32", "float64", "int32", "int64", "int8",+                              "uint8"]))),+               ("resize",) . showValue <$> (args !? #resize :: Maybe Int),+               ("rand_crop",) . showValue <$> (args !? #rand_crop :: Maybe Bool),+               ("random_resized_crop",) . showValue <$>+                 (args !? #random_resized_crop :: Maybe Bool),+               ("max_rotate_angle",) . showValue <$>+                 (args !? #max_rotate_angle :: Maybe Int),+               ("max_aspect_ratio",) . showValue <$>+                 (args !? #max_aspect_ratio :: Maybe Float),+               ("min_aspect_ratio",) . showValue <$>+                 (args !? #min_aspect_ratio :: Maybe (Maybe Float)),+               ("max_shear_ratio",) . showValue <$>+                 (args !? #max_shear_ratio :: Maybe Float),+               ("max_crop_size",) . showValue <$>+                 (args !? #max_crop_size :: Maybe Int),+               ("min_crop_size",) . showValue <$>+                 (args !? #min_crop_size :: Maybe Int),+               ("max_random_scale",) . showValue <$>+                 (args !? #max_random_scale :: Maybe Float),+               ("min_random_scale",) . showValue <$>+                 (args !? #min_random_scale :: Maybe Float),+               ("max_random_area",) . showValue <$>+                 (args !? #max_random_area :: Maybe Float),+               ("min_random_area",) . showValue <$>+                 (args !? #min_random_area :: Maybe Float),+               ("max_img_size",) . showValue <$>+                 (args !? #max_img_size :: Maybe Float),+               ("min_img_size",) . showValue <$>+                 (args !? #min_img_size :: Maybe Float),+               ("brightness",) . showValue <$>+                 (args !? #brightness :: Maybe Float),+               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),+               ("saturation",) . showValue <$>+                 (args !? #saturation :: Maybe Float),+               ("pca_noise",) . showValue <$> (args !? #pca_noise :: Maybe Float),+               ("random_h",) . showValue <$> (args !? #random_h :: Maybe Int),+               ("random_s",) . showValue <$> (args !? #random_s :: Maybe Int),+               ("random_l",) . showValue <$> (args !? #random_l :: Maybe Int),+               ("rotate",) . showValue <$> (args !? #rotate :: Maybe Int),+               ("fill_value",) . showValue <$> (args !? #fill_value :: Maybe Int),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("inter_method",) . showValue <$>+                 (args !? #inter_method :: Maybe Int),+               ("pad",) . showValue <$> (args !? #pad :: Maybe Int)]+        (keys, vals) = unzip allargs+      in+      do dis <- mxListDataIters+         di <- return (dis !! 6)+         mxDataIterCreateIter di keys vals++type instance ParameterList "_LibSVMIter" dummy =+     '[ '("data_libsvm", AttrReq Text), '("data_shape", AttrReq [Int]),+        '("label_libsvm", AttrOpt Text), '("label_shape", AttrOpt [Int]),+        '("num_parts", AttrOpt Int), '("part_index", AttrOpt Int),+        '("batch_size", AttrReq Int), '("round_batch", AttrOpt Bool),+        '("prefetch_buffer", AttrOpt Int),+        '("ctx", AttrOpt (EnumType '["cpu", "gpu"])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["float16", "float32", "float64", "int32", "int64", "int8",+                    "uint8"])))]++_LibSVMIter ::+            forall a . Fullfilled "_LibSVMIter" () a =>+              ArgsHMap "_LibSVMIter" () a -> IO DataIterHandle+_LibSVMIter args+  = let allargs+          = catMaybes+              [("data_libsvm",) . showValue <$>+                 (args !? #data_libsvm :: Maybe Text),+               ("data_shape",) . showValue <$>+                 (args !? #data_shape :: Maybe [Int]),+               ("label_libsvm",) . showValue <$>+                 (args !? #label_libsvm :: Maybe Text),+               ("label_shape",) . showValue <$>+                 (args !? #label_shape :: Maybe [Int]),+               ("num_parts",) . showValue <$> (args !? #num_parts :: Maybe Int),+               ("part_index",) . showValue <$> (args !? #part_index :: Maybe Int),+               ("batch_size",) . showValue <$> (args !? #batch_size :: Maybe Int),+               ("round_batch",) . showValue <$>+                 (args !? #round_batch :: Maybe Bool),+               ("prefetch_buffer",) . showValue <$>+                 (args !? #prefetch_buffer :: Maybe Int),+               ("ctx",) . showValue <$>+                 (args !? #ctx :: Maybe (EnumType '["cpu", "gpu"])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["float16", "float32", "float64", "int32", "int64", "int8",+                              "uint8"])))]+        (keys, vals) = unzip allargs+      in+      do dis <- mxListDataIters+         di <- return (dis !! 7)+         mxDataIterCreateIter di keys vals++type instance ParameterList "_MNISTIter" dummy =+     '[ '("image", AttrOpt Text), '("label", AttrOpt Text),+        '("batch_size", AttrOpt Int), '("shuffle", AttrOpt Bool),+        '("flat", AttrOpt Bool), '("seed", AttrOpt Int),+        '("silent", AttrOpt Bool), '("num_parts", AttrOpt Int),+        '("part_index", AttrOpt Int), '("prefetch_buffer", AttrOpt Int),+        '("ctx", AttrOpt (EnumType '["cpu", "gpu"])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["float16", "float32", "float64", "int32", "int64", "int8",+                    "uint8"])))]++_MNISTIter ::+           forall a . Fullfilled "_MNISTIter" () a =>+             ArgsHMap "_MNISTIter" () a -> IO DataIterHandle+_MNISTIter args+  = let allargs+          = catMaybes+              [("image",) . showValue <$> (args !? #image :: Maybe Text),+               ("label",) . showValue <$> (args !? #label :: Maybe Text),+               ("batch_size",) . showValue <$> (args !? #batch_size :: Maybe Int),+               ("shuffle",) . showValue <$> (args !? #shuffle :: Maybe Bool),+               ("flat",) . showValue <$> (args !? #flat :: Maybe Bool),+               ("seed",) . showValue <$> (args !? #seed :: Maybe Int),+               ("silent",) . showValue <$> (args !? #silent :: Maybe Bool),+               ("num_parts",) . showValue <$> (args !? #num_parts :: Maybe Int),+               ("part_index",) . showValue <$> (args !? #part_index :: Maybe Int),+               ("prefetch_buffer",) . showValue <$>+                 (args !? #prefetch_buffer :: Maybe Int),+               ("ctx",) . showValue <$>+                 (args !? #ctx :: Maybe (EnumType '["cpu", "gpu"])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["float16", "float32", "float64", "int32", "int64", "int8",+                              "uint8"])))]+        (keys, vals) = unzip allargs+      in+      do dis <- mxListDataIters+         di <- return (dis !! 8)+         mxDataIterCreateIter di keys vals
+ ops/1.6/MXNet/Base/Operators/Tensor.hs view
@@ -0,0 +1,14580 @@+module MXNet.Base.Operators.Tensor where+import RIO+import RIO.List+import MXNet.Base.Raw+import MXNet.Base.Spec.Operator+import MXNet.Base.Spec.HMap+import MXNet.Base.Tensor+import Data.Maybe (catMaybes, fromMaybe)++type instance ParameterList "_Activation" t =+     '[ '("act_type",+          AttrReq+            (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"])),+        '("data", AttrOpt t)]++_Activation ::+            forall a t .+              (TensorOp t t, Fullfilled "_Activation" t a, HasCallStack) =>+              ArgsHMap "_Activation" t a -> TensorApply t+_Activation args+  = let scalarArgs+          = catMaybes+              [("act_type",) . showValue <$>+                 (args !? #act_type ::+                    Maybe+                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "Activation" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_BatchNorm" t =+     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),+        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),+        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),+        '("cudnn_off", AttrOpt Bool),+        '("min_calib_range", AttrOpt (Maybe Float)),+        '("max_calib_range", AttrOpt (Maybe Float)), '("data", AttrOpt t),+        '("gamma", AttrOpt t), '("beta", AttrOpt t),+        '("moving_mean", AttrOpt t), '("moving_var", AttrOpt t)]++_BatchNorm ::+           forall a t .+             (TensorOp t t, Fullfilled "_BatchNorm" t a, HasCallStack) =>+             ArgsHMap "_BatchNorm" t a -> TensorApply t+_BatchNorm args+  = let scalarArgs+          = catMaybes+              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),+               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),+               ("use_global_stats",) . showValue <$>+                 (args !? #use_global_stats :: Maybe Bool),+               ("output_mean_var",) . showValue <$>+                 (args !? #output_mean_var :: Maybe Bool),+               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),+               ("min_calib_range",) . showValue <$>+                 (args !? #min_calib_range :: Maybe (Maybe Float)),+               ("max_calib_range",) . showValue <$>+                 (args !? #max_calib_range :: Maybe (Maybe Float))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("gamma",) <$> (args !? #gamma :: Maybe t),+               ("beta",) <$> (args !? #beta :: Maybe t),+               ("moving_mean",) <$> (args !? #moving_mean :: Maybe t),+               ("moving_var",) <$> (args !? #moving_var :: Maybe t)]+      in+      apply "BatchNorm" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_BatchNorm_v1" t =+     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),+        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),+        '("output_mean_var", AttrOpt Bool), '("data", AttrOpt t),+        '("gamma", AttrOpt t), '("beta", AttrOpt t)]++_BatchNorm_v1 ::+              forall a t .+                (TensorOp t t, Fullfilled "_BatchNorm_v1" t a, HasCallStack) =>+                ArgsHMap "_BatchNorm_v1" t a -> TensorApply t+_BatchNorm_v1 args+  = let scalarArgs+          = catMaybes+              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),+               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),+               ("use_global_stats",) . showValue <$>+                 (args !? #use_global_stats :: Maybe Bool),+               ("output_mean_var",) . showValue <$>+                 (args !? #output_mean_var :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("gamma",) <$> (args !? #gamma :: Maybe t),+               ("beta",) <$> (args !? #beta :: Maybe t)]+      in+      apply "BatchNorm_v1" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_BilinearSampler" t =+     '[ '("cudnn_off", AttrOpt (Maybe Bool)), '("data", AttrOpt t),+        '("grid", AttrOpt t)]++_BilinearSampler ::+                 forall a t .+                   (TensorOp t t, Fullfilled "_BilinearSampler" t a, HasCallStack) =>+                   ArgsHMap "_BilinearSampler" t a -> TensorApply t+_BilinearSampler args+  = let scalarArgs+          = catMaybes+              [("cudnn_off",) . showValue <$>+                 (args !? #cudnn_off :: Maybe (Maybe Bool))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("grid",) <$> (args !? #grid :: Maybe t)]+      in+      apply "BilinearSampler" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_BlockGrad" t =+     '[ '("data", AttrOpt t)]++_BlockGrad ::+           forall a t .+             (TensorOp t t, Fullfilled "_BlockGrad" t a, HasCallStack) =>+             ArgsHMap "_BlockGrad" t a -> TensorApply t+_BlockGrad args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "BlockGrad" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_CTCLoss" t =+     '[ '("use_data_lengths", AttrOpt Bool),+        '("use_label_lengths", AttrOpt Bool),+        '("blank_label", AttrOpt (EnumType '["first", "last"])),+        '("data", AttrOpt t), '("label", AttrOpt t),+        '("data_lengths", AttrOpt t), '("label_lengths", AttrOpt t)]++_CTCLoss ::+         forall a t .+           (TensorOp t t, Fullfilled "_CTCLoss" t a, HasCallStack) =>+           ArgsHMap "_CTCLoss" t a -> TensorApply t+_CTCLoss args+  = let scalarArgs+          = catMaybes+              [("use_data_lengths",) . showValue <$>+                 (args !? #use_data_lengths :: Maybe Bool),+               ("use_label_lengths",) . showValue <$>+                 (args !? #use_label_lengths :: Maybe Bool),+               ("blank_label",) . showValue <$>+                 (args !? #blank_label :: Maybe (EnumType '["first", "last"]))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("label",) <$> (args !? #label :: Maybe t),+               ("data_lengths",) <$> (args !? #data_lengths :: Maybe t),+               ("label_lengths",) <$> (args !? #label_lengths :: Maybe t)]+      in apply "CTCLoss" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_Cast" t =+     '[ '("dtype",+          AttrReq+            (EnumType+               '["bool", "float16", "float32", "float64", "int32", "int64",+                 "int8", "uint8"])),+        '("data", AttrOpt t)]++_Cast ::+      forall a t o .+        (TensorOp t o, Fullfilled "_Cast" t a, HasCallStack) =>+        ArgsHMap "_Cast" t a -> TensorApply o+_Cast args+  = let scalarArgs+          = catMaybes+              [("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["bool", "float16", "float32", "float64", "int32", "int64",+                           "int8", "uint8"]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "Cast" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_Concat" t =+     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),+        '("data", AttrOpt [t])]++_Concat ::+        forall a t .+          (TensorOp t t, Fullfilled "_Concat" t a, HasCallStack) =>+          ArgsHMap "_Concat" t a -> TensorApply t+_Concat args+  = let scalarArgs+          = catMaybes+              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),+               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "Concat" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_Convolution" t =+     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),+        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),+        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),+        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),+        '("cudnn_tune",+          AttrOpt+            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),+        '("cudnn_off", AttrOpt Bool),+        '("layout",+          AttrOpt+            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),+        '("data", AttrOpt t), '("weight", AttrOpt t), '("bias", AttrOpt t)]++_Convolution ::+             forall a t .+               (TensorOp t t, Fullfilled "_Convolution" t a, HasCallStack) =>+               ArgsHMap "_Convolution" t a -> TensorApply t+_Convolution args+  = let scalarArgs+          = catMaybes+              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),+               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),+               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),+               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),+               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),+               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),+               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),+               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),+               ("cudnn_tune",) . showValue <$>+                 (args !? #cudnn_tune ::+                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),+               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),+               ("layout",) . showValue <$>+                 (args !? #layout ::+                    Maybe+                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("weight",) <$> (args !? #weight :: Maybe t),+               ("bias",) <$> (args !? #bias :: Maybe t)]+      in+      apply "Convolution" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_Convolution_v1" t =+     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),+        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),+        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),+        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),+        '("cudnn_tune",+          AttrOpt+            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),+        '("cudnn_off", AttrOpt Bool),+        '("layout",+          AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"]))),+        '("data", AttrOpt t), '("weight", AttrOpt t), '("bias", AttrOpt t)]++_Convolution_v1 ::+                forall a t .+                  (TensorOp t t, Fullfilled "_Convolution_v1" t a, HasCallStack) =>+                  ArgsHMap "_Convolution_v1" t a -> TensorApply t+_Convolution_v1 args+  = let scalarArgs+          = catMaybes+              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),+               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),+               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),+               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),+               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),+               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),+               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),+               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),+               ("cudnn_tune",) . showValue <$>+                 (args !? #cudnn_tune ::+                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),+               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),+               ("layout",) . showValue <$>+                 (args !? #layout ::+                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NDHWC", "NHWC"])))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("weight",) <$> (args !? #weight :: Maybe t),+               ("bias",) <$> (args !? #bias :: Maybe t)]+      in+      apply "Convolution_v1" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_Correlation" t =+     '[ '("kernel_size", AttrOpt Int),+        '("max_displacement", AttrOpt Int), '("stride1", AttrOpt Int),+        '("stride2", AttrOpt Int), '("pad_size", AttrOpt Int),+        '("is_multiply", AttrOpt Bool), '("data1", AttrOpt t),+        '("data2", AttrOpt t)]++_Correlation ::+             forall a t .+               (TensorOp t t, Fullfilled "_Correlation" t a, HasCallStack) =>+               ArgsHMap "_Correlation" t a -> TensorApply t+_Correlation args+  = let scalarArgs+          = catMaybes+              [("kernel_size",) . showValue <$>+                 (args !? #kernel_size :: Maybe Int),+               ("max_displacement",) . showValue <$>+                 (args !? #max_displacement :: Maybe Int),+               ("stride1",) . showValue <$> (args !? #stride1 :: Maybe Int),+               ("stride2",) . showValue <$> (args !? #stride2 :: Maybe Int),+               ("pad_size",) . showValue <$> (args !? #pad_size :: Maybe Int),+               ("is_multiply",) . showValue <$>+                 (args !? #is_multiply :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("data1",) <$> (args !? #data1 :: Maybe t),+               ("data2",) <$> (args !? #data2 :: Maybe t)]+      in+      apply "Correlation" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_Crop" t =+     '[ '("num_args", AttrReq Int), '("offset", AttrOpt [Int]),+        '("h_w", AttrOpt [Int]), '("center_crop", AttrOpt Bool),+        '("data", AttrOpt [t])]++_Crop ::+      forall a t .+        (TensorOp t t, Fullfilled "_Crop" t a, HasCallStack) =>+        ArgsHMap "_Crop" t a -> TensorApply t+_Crop args+  = let scalarArgs+          = catMaybes+              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),+               ("offset",) . showValue <$> (args !? #offset :: Maybe [Int]),+               ("h_w",) . showValue <$> (args !? #h_w :: Maybe [Int]),+               ("center_crop",) . showValue <$>+                 (args !? #center_crop :: Maybe Bool)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "Crop" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_CuDNNBatchNorm" t =+     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),+        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),+        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),+        '("cudnn_off", AttrOpt Bool),+        '("min_calib_range", AttrOpt (Maybe Float)),+        '("max_calib_range", AttrOpt (Maybe Float)), '("data", AttrOpt t),+        '("gamma", AttrOpt t), '("beta", AttrOpt t),+        '("moving_mean", AttrOpt t), '("moving_var", AttrOpt t)]++_CuDNNBatchNorm ::+                forall a t .+                  (TensorOp t t, Fullfilled "_CuDNNBatchNorm" t a, HasCallStack) =>+                  ArgsHMap "_CuDNNBatchNorm" t a -> TensorApply t+_CuDNNBatchNorm args+  = let scalarArgs+          = catMaybes+              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),+               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),+               ("use_global_stats",) . showValue <$>+                 (args !? #use_global_stats :: Maybe Bool),+               ("output_mean_var",) . showValue <$>+                 (args !? #output_mean_var :: Maybe Bool),+               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),+               ("min_calib_range",) . showValue <$>+                 (args !? #min_calib_range :: Maybe (Maybe Float)),+               ("max_calib_range",) . showValue <$>+                 (args !? #max_calib_range :: Maybe (Maybe Float))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("gamma",) <$> (args !? #gamma :: Maybe t),+               ("beta",) <$> (args !? #beta :: Maybe t),+               ("moving_mean",) <$> (args !? #moving_mean :: Maybe t),+               ("moving_var",) <$> (args !? #moving_var :: Maybe t)]+      in+      apply "CuDNNBatchNorm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_Custom" t =+     '[ '("op_type", AttrOpt Text), '("data", AttrOpt [t])]++_Custom ::+        forall a t .+          (TensorOp t t, Fullfilled "_Custom" t a, HasCallStack,+           PopKey (ArgOf "_Custom" t) a "data",+           Dump (PopResult (ArgOf "_Custom" t) a "data")) =>+          ArgsHMap "_Custom" t a -> TensorApply t+_Custom args+  = let scalarArgs = dump (pop args #data)+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "Custom" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_Deconvolution" t =+     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),+        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),+        '("adj", AttrOpt [Int]), '("target_shape", AttrOpt [Int]),+        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),+        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),+        '("cudnn_tune",+          AttrOpt+            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),+        '("cudnn_off", AttrOpt Bool),+        '("layout",+          AttrOpt+            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),+        '("data", AttrOpt t), '("weight", AttrOpt t), '("bias", AttrOpt t)]++_Deconvolution ::+               forall a t .+                 (TensorOp t t, Fullfilled "_Deconvolution" t a, HasCallStack) =>+                 ArgsHMap "_Deconvolution" t a -> TensorApply t+_Deconvolution args+  = let scalarArgs+          = catMaybes+              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),+               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),+               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),+               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),+               ("adj",) . showValue <$> (args !? #adj :: Maybe [Int]),+               ("target_shape",) . showValue <$>+                 (args !? #target_shape :: Maybe [Int]),+               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),+               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),+               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),+               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),+               ("cudnn_tune",) . showValue <$>+                 (args !? #cudnn_tune ::+                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),+               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),+               ("layout",) . showValue <$>+                 (args !? #layout ::+                    Maybe+                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("weight",) <$> (args !? #weight :: Maybe t),+               ("bias",) <$> (args !? #bias :: Maybe t)]+      in+      apply "Deconvolution" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_Dropout" t =+     '[ '("p", AttrOpt Float),+        '("mode", AttrOpt (EnumType '["always", "training"])),+        '("axes", AttrOpt [Int]), '("cudnn_off", AttrOpt (Maybe Bool)),+        '("data", AttrOpt t)]++_Dropout ::+         forall a t .+           (TensorOp t t, Fullfilled "_Dropout" t a, HasCallStack) =>+           ArgsHMap "_Dropout" t a -> TensorApply t+_Dropout args+  = let scalarArgs+          = catMaybes+              [("p",) . showValue <$> (args !? #p :: Maybe Float),+               ("mode",) . showValue <$>+                 (args !? #mode :: Maybe (EnumType '["always", "training"])),+               ("axes",) . showValue <$> (args !? #axes :: Maybe [Int]),+               ("cudnn_off",) . showValue <$>+                 (args !? #cudnn_off :: Maybe (Maybe Bool))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "Dropout" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_Embedding" t =+     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "int8",+                 "uint8"])),+        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt t),+        '("weight", AttrOpt t)]++_Embedding ::+           forall a t .+             (TensorOp t t, Fullfilled "_Embedding" t a, HasCallStack) =>+             ArgsHMap "_Embedding" t a -> TensorApply t+_Embedding args+  = let scalarArgs+          = catMaybes+              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),+               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "int8",+                           "uint8"])),+               ("sparse_grad",) . showValue <$>+                 (args !? #sparse_grad :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("weight",) <$> (args !? #weight :: Maybe t)]+      in+      apply "Embedding" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_Flatten" t = '[ '("data", AttrOpt t)]++_Flatten ::+         forall a t .+           (TensorOp t t, Fullfilled "_Flatten" t a, HasCallStack) =>+           ArgsHMap "_Flatten" t a -> TensorApply t+_Flatten args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "Flatten" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_FullyConnected" t =+     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),+        '("flatten", AttrOpt Bool), '("data", AttrOpt t),+        '("weight", AttrOpt t), '("bias", AttrOpt t)]++_FullyConnected ::+                forall a t .+                  (TensorOp t t, Fullfilled "_FullyConnected" t a, HasCallStack) =>+                  ArgsHMap "_FullyConnected" t a -> TensorApply t+_FullyConnected args+  = let scalarArgs+          = catMaybes+              [("num_hidden",) . showValue <$>+                 (args !? #num_hidden :: Maybe Int),+               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),+               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("weight",) <$> (args !? #weight :: Maybe t),+               ("bias",) <$> (args !? #bias :: Maybe t)]+      in+      apply "FullyConnected" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_GridGenerator" t =+     '[ '("transform_type", AttrReq (EnumType '["affine", "warp"])),+        '("target_shape", AttrOpt [Int]), '("data", AttrOpt t)]++_GridGenerator ::+               forall a t .+                 (TensorOp t t, Fullfilled "_GridGenerator" t a, HasCallStack) =>+                 ArgsHMap "_GridGenerator" t a -> TensorApply t+_GridGenerator args+  = let scalarArgs+          = catMaybes+              [("transform_type",) . showValue <$>+                 (args !? #transform_type :: Maybe (EnumType '["affine", "warp"])),+               ("target_shape",) . showValue <$>+                 (args !? #target_shape :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "GridGenerator" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_GroupNorm" t =+     '[ '("num_groups", AttrOpt Int), '("eps", AttrOpt Float),+        '("output_mean_var", AttrOpt Bool), '("data", AttrOpt t),+        '("gamma", AttrOpt t), '("beta", AttrOpt t)]++_GroupNorm ::+           forall a t .+             (TensorOp t t, Fullfilled "_GroupNorm" t a, HasCallStack) =>+             ArgsHMap "_GroupNorm" t a -> TensorApply t+_GroupNorm args+  = let scalarArgs+          = catMaybes+              [("num_groups",) . showValue <$>+                 (args !? #num_groups :: Maybe Int),+               ("eps",) . showValue <$> (args !? #eps :: Maybe Float),+               ("output_mean_var",) . showValue <$>+                 (args !? #output_mean_var :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("gamma",) <$> (args !? #gamma :: Maybe t),+               ("beta",) <$> (args !? #beta :: Maybe t)]+      in+      apply "GroupNorm" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_IdentityAttachKLSparseReg" t =+     '[ '("sparseness_target", AttrOpt Float),+        '("penalty", AttrOpt Float), '("momentum", AttrOpt Float),+        '("data", AttrOpt t)]++_IdentityAttachKLSparseReg ::+                           forall a t .+                             (TensorOp t t, Fullfilled "_IdentityAttachKLSparseReg" t a,+                              HasCallStack) =>+                             ArgsHMap "_IdentityAttachKLSparseReg" t a -> TensorApply t+_IdentityAttachKLSparseReg args+  = let scalarArgs+          = catMaybes+              [("sparseness_target",) . showValue <$>+                 (args !? #sparseness_target :: Maybe Float),+               ("penalty",) . showValue <$> (args !? #penalty :: Maybe Float),+               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "IdentityAttachKLSparseReg" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_InstanceNorm" t =+     '[ '("eps", AttrOpt Float), '("data", AttrOpt t),+        '("gamma", AttrOpt t), '("beta", AttrOpt t)]++_InstanceNorm ::+              forall a t .+                (TensorOp t t, Fullfilled "_InstanceNorm" t a, HasCallStack) =>+                ArgsHMap "_InstanceNorm" t a -> TensorApply t+_InstanceNorm args+  = let scalarArgs+          = catMaybes+              [("eps",) . showValue <$> (args !? #eps :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("gamma",) <$> (args !? #gamma :: Maybe t),+               ("beta",) <$> (args !? #beta :: Maybe t)]+      in+      apply "InstanceNorm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_L2Normalization" t =+     '[ '("eps", AttrOpt Float),+        '("mode", AttrOpt (EnumType '["channel", "instance", "spatial"])),+        '("data", AttrOpt t)]++_L2Normalization ::+                 forall a t .+                   (TensorOp t t, Fullfilled "_L2Normalization" t a, HasCallStack) =>+                   ArgsHMap "_L2Normalization" t a -> TensorApply t+_L2Normalization args+  = let scalarArgs+          = catMaybes+              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),+               ("mode",) . showValue <$>+                 (args !? #mode ::+                    Maybe (EnumType '["channel", "instance", "spatial"]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "L2Normalization" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_LRN" t =+     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),+        '("knorm", AttrOpt Float), '("nsize", AttrReq Int),+        '("data", AttrOpt t)]++_LRN ::+     forall a t . (TensorOp t t, Fullfilled "_LRN" t a, HasCallStack) =>+       ArgsHMap "_LRN" t a -> TensorApply t+_LRN args+  = let scalarArgs+          = catMaybes+              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),+               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),+               ("knorm",) . showValue <$> (args !? #knorm :: Maybe Float),+               ("nsize",) . showValue <$> (args !? #nsize :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "LRN" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_LayerNorm" t =+     '[ '("axis", AttrOpt Int), '("eps", AttrOpt Float),+        '("output_mean_var", AttrOpt Bool), '("data", AttrOpt t),+        '("gamma", AttrOpt t), '("beta", AttrOpt t)]++_LayerNorm ::+           forall a t .+             (TensorOp t t, Fullfilled "_LayerNorm" t a, HasCallStack) =>+             ArgsHMap "_LayerNorm" t a -> TensorApply t+_LayerNorm args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("eps",) . showValue <$> (args !? #eps :: Maybe Float),+               ("output_mean_var",) . showValue <$>+                 (args !? #output_mean_var :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("gamma",) <$> (args !? #gamma :: Maybe t),+               ("beta",) <$> (args !? #beta :: Maybe t)]+      in+      apply "LayerNorm" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_LeakyReLU" t =+     '[ '("act_type",+          AttrOpt+            (EnumType '["elu", "gelu", "leaky", "prelu", "rrelu", "selu"])),+        '("slope", AttrOpt Float), '("lower_bound", AttrOpt Float),+        '("upper_bound", AttrOpt Float), '("data", AttrOpt t),+        '("gamma", AttrOpt t)]++_LeakyReLU ::+           forall a t .+             (TensorOp t t, Fullfilled "_LeakyReLU" t a, HasCallStack) =>+             ArgsHMap "_LeakyReLU" t a -> TensorApply t+_LeakyReLU args+  = let scalarArgs+          = catMaybes+              [("act_type",) . showValue <$>+                 (args !? #act_type ::+                    Maybe+                      (EnumType '["elu", "gelu", "leaky", "prelu", "rrelu", "selu"])),+               ("slope",) . showValue <$> (args !? #slope :: Maybe Float),+               ("lower_bound",) . showValue <$>+                 (args !? #lower_bound :: Maybe Float),+               ("upper_bound",) . showValue <$>+                 (args !? #upper_bound :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("gamma",) <$> (args !? #gamma :: Maybe t)]+      in+      apply "LeakyReLU" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_LinearRegressionOutput" t =+     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt t),+        '("label", AttrOpt t)]++_LinearRegressionOutput ::+                        forall a t .+                          (TensorOp t t, Fullfilled "_LinearRegressionOutput" t a,+                           HasCallStack) =>+                          ArgsHMap "_LinearRegressionOutput" t a -> TensorApply t+_LinearRegressionOutput args+  = let scalarArgs+          = catMaybes+              [("grad_scale",) . showValue <$>+                 (args !? #grad_scale :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("label",) <$> (args !? #label :: Maybe t)]+      in+      apply "LinearRegressionOutput" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_LogisticRegressionOutput" t =+     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt t),+        '("label", AttrOpt t)]++_LogisticRegressionOutput ::+                          forall a t .+                            (TensorOp t t, Fullfilled "_LogisticRegressionOutput" t a,+                             HasCallStack) =>+                            ArgsHMap "_LogisticRegressionOutput" t a -> TensorApply t+_LogisticRegressionOutput args+  = let scalarArgs+          = catMaybes+              [("grad_scale",) . showValue <$>+                 (args !? #grad_scale :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("label",) <$> (args !? #label :: Maybe t)]+      in+      apply "LogisticRegressionOutput" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_MAERegressionOutput" t =+     '[ '("grad_scale", AttrOpt Float), '("data", AttrOpt t),+        '("label", AttrOpt t)]++_MAERegressionOutput ::+                     forall a t .+                       (TensorOp t t, Fullfilled "_MAERegressionOutput" t a,+                        HasCallStack) =>+                       ArgsHMap "_MAERegressionOutput" t a -> TensorApply t+_MAERegressionOutput args+  = let scalarArgs+          = catMaybes+              [("grad_scale",) . showValue <$>+                 (args !? #grad_scale :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("label",) <$> (args !? #label :: Maybe t)]+      in+      apply "MAERegressionOutput" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_MakeLoss" t =+     '[ '("grad_scale", AttrOpt Float),+        '("valid_thresh", AttrOpt Float),+        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),+        '("data", AttrOpt t)]++_MakeLoss ::+          forall a t .+            (TensorOp t t, Fullfilled "_MakeLoss" t a, HasCallStack) =>+            ArgsHMap "_MakeLoss" t a -> TensorApply t+_MakeLoss args+  = let scalarArgs+          = catMaybes+              [("grad_scale",) . showValue <$>+                 (args !? #grad_scale :: Maybe Float),+               ("valid_thresh",) . showValue <$>+                 (args !? #valid_thresh :: Maybe Float),+               ("normalization",) . showValue <$>+                 (args !? #normalization ::+                    Maybe (EnumType '["batch", "null", "valid"]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "MakeLoss" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_Pad" t =+     '[ '("mode", AttrReq (EnumType '["constant", "edge", "reflect"])),+        '("pad_width", AttrReq [Int]), '("constant_value", AttrOpt Double),+        '("data", AttrOpt t)]++_Pad ::+     forall a t . (TensorOp t t, Fullfilled "_Pad" t a, HasCallStack) =>+       ArgsHMap "_Pad" t a -> TensorApply t+_Pad args+  = let scalarArgs+          = catMaybes+              [("mode",) . showValue <$>+                 (args !? #mode ::+                    Maybe (EnumType '["constant", "edge", "reflect"])),+               ("pad_width",) . showValue <$> (args !? #pad_width :: Maybe [Int]),+               ("constant_value",) . showValue <$>+                 (args !? #constant_value :: Maybe Double)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "Pad" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_Pooling" t =+     '[ '("kernel", AttrOpt [Int]),+        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),+        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),+        '("pooling_convention",+          AttrOpt (EnumType '["full", "same", "valid"])),+        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),+        '("p_value", AttrOpt (Maybe Int)),+        '("count_include_pad", AttrOpt (Maybe Bool)),+        '("layout",+          AttrOpt+            (Maybe+               (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"]))),+        '("data", AttrOpt t)]++_Pooling ::+         forall a t .+           (TensorOp t t, Fullfilled "_Pooling" t a, HasCallStack) =>+           ArgsHMap "_Pooling" t a -> TensorApply t+_Pooling args+  = let scalarArgs+          = catMaybes+              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),+               ("pool_type",) . showValue <$>+                 (args !? #pool_type ::+                    Maybe (EnumType '["avg", "lp", "max", "sum"])),+               ("global_pool",) . showValue <$>+                 (args !? #global_pool :: Maybe Bool),+               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),+               ("pooling_convention",) . showValue <$>+                 (args !? #pooling_convention ::+                    Maybe (EnumType '["full", "same", "valid"])),+               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),+               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),+               ("p_value",) . showValue <$>+                 (args !? #p_value :: Maybe (Maybe Int)),+               ("count_include_pad",) . showValue <$>+                 (args !? #count_include_pad :: Maybe (Maybe Bool)),+               ("layout",) . showValue <$>+                 (args !? #layout ::+                    Maybe+                      (Maybe+                         (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"])))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "Pooling" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_Pooling_v1" t =+     '[ '("kernel", AttrOpt [Int]),+        '("pool_type", AttrOpt (EnumType '["avg", "max", "sum"])),+        '("global_pool", AttrOpt Bool),+        '("pooling_convention", AttrOpt (EnumType '["full", "valid"])),+        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),+        '("data", AttrOpt t)]++_Pooling_v1 ::+            forall a t .+              (TensorOp t t, Fullfilled "_Pooling_v1" t a, HasCallStack) =>+              ArgsHMap "_Pooling_v1" t a -> TensorApply t+_Pooling_v1 args+  = let scalarArgs+          = catMaybes+              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),+               ("pool_type",) . showValue <$>+                 (args !? #pool_type :: Maybe (EnumType '["avg", "max", "sum"])),+               ("global_pool",) . showValue <$>+                 (args !? #global_pool :: Maybe Bool),+               ("pooling_convention",) . showValue <$>+                 (args !? #pooling_convention ::+                    Maybe (EnumType '["full", "valid"])),+               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),+               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "Pooling_v1" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_RNN" t =+     '[ '("state_size", AttrReq Int), '("num_layers", AttrReq Int),+        '("bidirectional", AttrOpt Bool),+        '("mode",+          AttrReq (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),+        '("p", AttrOpt Float), '("state_outputs", AttrOpt Bool),+        '("projection_size", AttrOpt (Maybe Int)),+        '("lstm_state_clip_min", AttrOpt (Maybe Double)),+        '("lstm_state_clip_max", AttrOpt (Maybe Double)),+        '("lstm_state_clip_nan", AttrOpt Bool),+        '("use_sequence_length", AttrOpt Bool), '("data", AttrOpt t),+        '("parameters", AttrOpt t), '("state", AttrOpt t),+        '("state_cell", AttrOpt t), '("sequence_length", AttrOpt t)]++_RNN ::+     forall a t . (TensorOp t t, Fullfilled "_RNN" t a, HasCallStack) =>+       ArgsHMap "_RNN" t a -> TensorApply t+_RNN args+  = let scalarArgs+          = catMaybes+              [("state_size",) . showValue <$>+                 (args !? #state_size :: Maybe Int),+               ("num_layers",) . showValue <$> (args !? #num_layers :: Maybe Int),+               ("bidirectional",) . showValue <$>+                 (args !? #bidirectional :: Maybe Bool),+               ("mode",) . showValue <$>+                 (args !? #mode ::+                    Maybe (EnumType '["gru", "lstm", "rnn_relu", "rnn_tanh"])),+               ("p",) . showValue <$> (args !? #p :: Maybe Float),+               ("state_outputs",) . showValue <$>+                 (args !? #state_outputs :: Maybe Bool),+               ("projection_size",) . showValue <$>+                 (args !? #projection_size :: Maybe (Maybe Int)),+               ("lstm_state_clip_min",) . showValue <$>+                 (args !? #lstm_state_clip_min :: Maybe (Maybe Double)),+               ("lstm_state_clip_max",) . showValue <$>+                 (args !? #lstm_state_clip_max :: Maybe (Maybe Double)),+               ("lstm_state_clip_nan",) . showValue <$>+                 (args !? #lstm_state_clip_nan :: Maybe Bool),+               ("use_sequence_length",) . showValue <$>+                 (args !? #use_sequence_length :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("parameters",) <$> (args !? #parameters :: Maybe t),+               ("state",) <$> (args !? #state :: Maybe t),+               ("state_cell",) <$> (args !? #state_cell :: Maybe t),+               ("sequence_length",) <$> (args !? #sequence_length :: Maybe t)]+      in apply "RNN" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_ROIPooling" t =+     '[ '("pooled_size", AttrReq [Int]),+        '("spatial_scale", AttrReq Float), '("data", AttrOpt t),+        '("rois", AttrOpt t)]++_ROIPooling ::+            forall a t .+              (TensorOp t t, Fullfilled "_ROIPooling" t a, HasCallStack) =>+              ArgsHMap "_ROIPooling" t a -> TensorApply t+_ROIPooling args+  = let scalarArgs+          = catMaybes+              [("pooled_size",) . showValue <$>+                 (args !? #pooled_size :: Maybe [Int]),+               ("spatial_scale",) . showValue <$>+                 (args !? #spatial_scale :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("rois",) <$> (args !? #rois :: Maybe t)]+      in+      apply "ROIPooling" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_Reshape" t =+     '[ '("shape", AttrOpt [Int]), '("reverse", AttrOpt Bool),+        '("target_shape", AttrOpt [Int]), '("keep_highest", AttrOpt Bool),+        '("data", AttrOpt t)]++_Reshape ::+         forall a t .+           (TensorOp t t, Fullfilled "_Reshape" t a, HasCallStack) =>+           ArgsHMap "_Reshape" t a -> TensorApply t+_Reshape args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),+               ("target_shape",) . showValue <$>+                 (args !? #target_shape :: Maybe [Int]),+               ("keep_highest",) . showValue <$>+                 (args !? #keep_highest :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "Reshape" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_SVMOutput" t =+     '[ '("margin", AttrOpt Float),+        '("regularization_coefficient", AttrOpt Float),+        '("use_linear", AttrOpt Bool), '("data", AttrOpt t),+        '("label", AttrOpt t)]++_SVMOutput ::+           forall a t .+             (TensorOp t t, Fullfilled "_SVMOutput" t a, HasCallStack) =>+             ArgsHMap "_SVMOutput" t a -> TensorApply t+_SVMOutput args+  = let scalarArgs+          = catMaybes+              [("margin",) . showValue <$> (args !? #margin :: Maybe Float),+               ("regularization_coefficient",) . showValue <$>+                 (args !? #regularization_coefficient :: Maybe Float),+               ("use_linear",) . showValue <$>+                 (args !? #use_linear :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("label",) <$> (args !? #label :: Maybe t)]+      in+      apply "SVMOutput" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_SequenceLast" t =+     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),+        '("data", AttrOpt t), '("sequence_length", AttrOpt t)]++_SequenceLast ::+              forall a t .+                (TensorOp t t, Fullfilled "_SequenceLast" t a, HasCallStack) =>+                ArgsHMap "_SequenceLast" t a -> TensorApply t+_SequenceLast args+  = let scalarArgs+          = catMaybes+              [("use_sequence_length",) . showValue <$>+                 (args !? #use_sequence_length :: Maybe Bool),+               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("sequence_length",) <$> (args !? #sequence_length :: Maybe t)]+      in+      apply "SequenceLast" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_SequenceMask" t =+     '[ '("use_sequence_length", AttrOpt Bool),+        '("value", AttrOpt Float), '("axis", AttrOpt Int),+        '("data", AttrOpt t), '("sequence_length", AttrOpt t)]++_SequenceMask ::+              forall a t .+                (TensorOp t t, Fullfilled "_SequenceMask" t a, HasCallStack) =>+                ArgsHMap "_SequenceMask" t a -> TensorApply t+_SequenceMask args+  = let scalarArgs+          = catMaybes+              [("use_sequence_length",) . showValue <$>+                 (args !? #use_sequence_length :: Maybe Bool),+               ("value",) . showValue <$> (args !? #value :: Maybe Float),+               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("sequence_length",) <$> (args !? #sequence_length :: Maybe t)]+      in+      apply "SequenceMask" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_SequenceReverse" t =+     '[ '("use_sequence_length", AttrOpt Bool), '("axis", AttrOpt Int),+        '("data", AttrOpt t), '("sequence_length", AttrOpt t)]++_SequenceReverse ::+                 forall a t .+                   (TensorOp t t, Fullfilled "_SequenceReverse" t a, HasCallStack) =>+                   ArgsHMap "_SequenceReverse" t a -> TensorApply t+_SequenceReverse args+  = let scalarArgs+          = catMaybes+              [("use_sequence_length",) . showValue <$>+                 (args !? #use_sequence_length :: Maybe Bool),+               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("sequence_length",) <$> (args !? #sequence_length :: Maybe t)]+      in+      apply "SequenceReverse" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_SliceChannel" t =+     '[ '("num_outputs", AttrReq Int), '("axis", AttrOpt Int),+        '("squeeze_axis", AttrOpt Bool), '("data", AttrOpt t)]++_SliceChannel ::+              forall a t .+                (TensorOp t t, Fullfilled "_SliceChannel" t a, HasCallStack) =>+                ArgsHMap "_SliceChannel" t a -> TensorApply t+_SliceChannel args+  = let scalarArgs+          = catMaybes+              [("num_outputs",) . showValue <$>+                 (args !? #num_outputs :: Maybe Int),+               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("squeeze_axis",) . showValue <$>+                 (args !? #squeeze_axis :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "SliceChannel" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_SoftmaxActivation" t =+     '[ '("mode", AttrOpt (EnumType '["channel", "instance"])),+        '("data", AttrOpt t)]++_SoftmaxActivation ::+                   forall a t .+                     (TensorOp t t, Fullfilled "_SoftmaxActivation" t a,+                      HasCallStack) =>+                     ArgsHMap "_SoftmaxActivation" t a -> TensorApply t+_SoftmaxActivation args+  = let scalarArgs+          = catMaybes+              [("mode",) . showValue <$>+                 (args !? #mode :: Maybe (EnumType '["channel", "instance"]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "SoftmaxActivation" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_SoftmaxOutput" t =+     '[ '("grad_scale", AttrOpt Float),+        '("ignore_label", AttrOpt Float), '("multi_output", AttrOpt Bool),+        '("use_ignore", AttrOpt Bool), '("preserve_shape", AttrOpt Bool),+        '("normalization", AttrOpt (EnumType '["batch", "null", "valid"])),+        '("out_grad", AttrOpt Bool), '("smooth_alpha", AttrOpt Float),+        '("data", AttrOpt t), '("label", AttrOpt t)]++_SoftmaxOutput ::+               forall a t .+                 (TensorOp t t, Fullfilled "_SoftmaxOutput" t a, HasCallStack) =>+                 ArgsHMap "_SoftmaxOutput" t a -> TensorApply t+_SoftmaxOutput args+  = let scalarArgs+          = catMaybes+              [("grad_scale",) . showValue <$>+                 (args !? #grad_scale :: Maybe Float),+               ("ignore_label",) . showValue <$>+                 (args !? #ignore_label :: Maybe Float),+               ("multi_output",) . showValue <$>+                 (args !? #multi_output :: Maybe Bool),+               ("use_ignore",) . showValue <$>+                 (args !? #use_ignore :: Maybe Bool),+               ("preserve_shape",) . showValue <$>+                 (args !? #preserve_shape :: Maybe Bool),+               ("normalization",) . showValue <$>+                 (args !? #normalization ::+                    Maybe (EnumType '["batch", "null", "valid"])),+               ("out_grad",) . showValue <$> (args !? #out_grad :: Maybe Bool),+               ("smooth_alpha",) . showValue <$>+                 (args !? #smooth_alpha :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("label",) <$> (args !? #label :: Maybe t)]+      in+      apply "SoftmaxOutput" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_SpatialTransformer" t =+     '[ '("target_shape", AttrOpt [Int]),+        '("transform_type", AttrReq (EnumType '["affine"])),+        '("sampler_type", AttrReq (EnumType '["bilinear"])),+        '("cudnn_off", AttrOpt (Maybe Bool)), '("data", AttrOpt t),+        '("loc", AttrOpt t)]++_SpatialTransformer ::+                    forall a t .+                      (TensorOp t t, Fullfilled "_SpatialTransformer" t a,+                       HasCallStack) =>+                      ArgsHMap "_SpatialTransformer" t a -> TensorApply t+_SpatialTransformer args+  = let scalarArgs+          = catMaybes+              [("target_shape",) . showValue <$>+                 (args !? #target_shape :: Maybe [Int]),+               ("transform_type",) . showValue <$>+                 (args !? #transform_type :: Maybe (EnumType '["affine"])),+               ("sampler_type",) . showValue <$>+                 (args !? #sampler_type :: Maybe (EnumType '["bilinear"])),+               ("cudnn_off",) . showValue <$>+                 (args !? #cudnn_off :: Maybe (Maybe Bool))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("loc",) <$> (args !? #loc :: Maybe t)]+      in+      apply "SpatialTransformer" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_SwapAxis" t =+     '[ '("dim1", AttrOpt Int), '("dim2", AttrOpt Int),+        '("data", AttrOpt t)]++_SwapAxis ::+          forall a t .+            (TensorOp t t, Fullfilled "_SwapAxis" t a, HasCallStack) =>+            ArgsHMap "_SwapAxis" t a -> TensorApply t+_SwapAxis args+  = let scalarArgs+          = catMaybes+              [("dim1",) . showValue <$> (args !? #dim1 :: Maybe Int),+               ("dim2",) . showValue <$> (args !? #dim2 :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "SwapAxis" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_UpSampling" t =+     '[ '("scale", AttrReq Int), '("num_filter", AttrOpt Int),+        '("sample_type", AttrReq (EnumType '["bilinear", "nearest"])),+        '("multi_input_mode", AttrOpt (EnumType '["concat", "sum"])),+        '("num_args", AttrReq Int), '("workspace", AttrOpt Int),+        '("data", AttrOpt [t])]++_UpSampling ::+            forall a t .+              (TensorOp t t, Fullfilled "_UpSampling" t a, HasCallStack) =>+              ArgsHMap "_UpSampling" t a -> TensorApply t+_UpSampling args+  = let scalarArgs+          = catMaybes+              [("scale",) . showValue <$> (args !? #scale :: Maybe Int),+               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),+               ("sample_type",) . showValue <$>+                 (args !? #sample_type ::+                    Maybe (EnumType '["bilinear", "nearest"])),+               ("multi_input_mode",) . showValue <$>+                 (args !? #multi_input_mode :: Maybe (EnumType '["concat", "sum"])),+               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),+               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "UpSampling" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__CachedOp" t =+     '[ '("data", AttrOpt [t])]++__CachedOp ::+           forall a t .+             (TensorOp t t, Fullfilled "__CachedOp" t a, HasCallStack) =>+             ArgsHMap "__CachedOp" t a -> TensorApply t+__CachedOp args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "_CachedOp" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__CrossDeviceCopy" t = '[]++__CrossDeviceCopy ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__CrossDeviceCopy" t a, HasCallStack) =>+                    ArgsHMap "__CrossDeviceCopy" t a -> TensorApply t+__CrossDeviceCopy args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_CrossDeviceCopy" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__CustomFunction" t = '[]++__CustomFunction ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__CustomFunction" t a, HasCallStack) =>+                   ArgsHMap "__CustomFunction" t a -> TensorApply t+__CustomFunction args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_CustomFunction" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__FusedOp" t =+     '[ '("data", AttrOpt [t])]++__FusedOp ::+          forall a t .+            (TensorOp t t, Fullfilled "__FusedOp" t a, HasCallStack) =>+            ArgsHMap "__FusedOp" t a -> TensorApply t+__FusedOp args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "_FusedOp" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__FusedOpHelper" t = '[]++__FusedOpHelper ::+                forall a t .+                  (TensorOp t t, Fullfilled "__FusedOpHelper" t a, HasCallStack) =>+                  ArgsHMap "__FusedOpHelper" t a -> TensorApply t+__FusedOpHelper args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_FusedOpHelper" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__FusedOpOutHelper" t = '[]++__FusedOpOutHelper ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__FusedOpOutHelper" t a,+                      HasCallStack) =>+                     ArgsHMap "__FusedOpOutHelper" t a -> TensorApply t+__FusedOpOutHelper args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_FusedOpOutHelper" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__NoGradient" t = '[]++__NoGradient ::+             forall a t .+               (TensorOp t t, Fullfilled "__NoGradient" t a, HasCallStack) =>+               ArgsHMap "__NoGradient" t a -> TensorApply t+__NoGradient args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_NoGradient" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__adamw_update" t =+     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),+        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),+        '("wd", AttrOpt Float), '("eta", AttrReq Float),+        '("clip_gradient", AttrOpt Float), '("weight", AttrOpt t),+        '("grad", AttrOpt t), '("mean", AttrOpt t), '("var", AttrOpt t),+        '("rescale_grad", AttrOpt t)]++__adamw_update ::+               forall a t .+                 (TensorOp t t, Fullfilled "__adamw_update" t a, HasCallStack) =>+                 ArgsHMap "__adamw_update" t a -> TensorApply t+__adamw_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),+               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),+               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("eta",) . showValue <$> (args !? #eta :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("mean",) <$> (args !? #mean :: Maybe t),+               ("var",) <$> (args !? #var :: Maybe t),+               ("rescale_grad",) <$> (args !? #rescale_grad :: Maybe t)]+      in+      apply "_adamw_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__arange" t =+     '[ '("start", AttrReq Double), '("stop", AttrOpt (Maybe Double)),+        '("step", AttrOpt Double), '("repeat", AttrOpt Int),+        '("infer_range", AttrOpt Bool), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "int8",+                 "uint8"]))]++__arange ::+         forall a t .+           (TensorOp t t, Fullfilled "__arange" t a, HasCallStack) =>+           ArgsHMap "__arange" t a -> TensorApply t+__arange args+  = let scalarArgs+          = catMaybes+              [("start",) . showValue <$> (args !? #start :: Maybe Double),+               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),+               ("step",) . showValue <$> (args !? #step :: Maybe Double),+               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),+               ("infer_range",) . showValue <$>+                 (args !? #infer_range :: Maybe Bool),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "int8",+                           "uint8"]))]+        tensorKeyArgs = catMaybes []+      in apply "_arange" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_Activation" t = '[]++__backward_Activation ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_Activation" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_Activation" t a -> TensorApply t+__backward_Activation args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_Activation" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_BatchNorm" t = '[]++__backward_BatchNorm ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_BatchNorm" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_BatchNorm" t a -> TensorApply t+__backward_BatchNorm args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_BatchNorm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_BatchNorm_v1" t = '[]++__backward_BatchNorm_v1 ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_BatchNorm_v1" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_BatchNorm_v1" t a -> TensorApply t+__backward_BatchNorm_v1 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_BatchNorm_v1" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_BilinearSampler" t = '[]++__backward_BilinearSampler ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__backward_BilinearSampler" t a,+                              HasCallStack) =>+                             ArgsHMap "__backward_BilinearSampler" t a -> TensorApply t+__backward_BilinearSampler args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_BilinearSampler" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_CachedOp" t = '[]++__backward_CachedOp ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__backward_CachedOp" t a,+                       HasCallStack) =>+                      ArgsHMap "__backward_CachedOp" t a -> TensorApply t+__backward_CachedOp args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_CachedOp" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_Concat" t = '[]++__backward_Concat ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__backward_Concat" t a, HasCallStack) =>+                    ArgsHMap "__backward_Concat" t a -> TensorApply t+__backward_Concat args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_Concat" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_Convolution" t = '[]++__backward_Convolution ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__backward_Convolution" t a,+                          HasCallStack) =>+                         ArgsHMap "__backward_Convolution" t a -> TensorApply t+__backward_Convolution args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_Convolution" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_Convolution_v1" t = '[]++__backward_Convolution_v1 ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__backward_Convolution_v1" t a,+                             HasCallStack) =>+                            ArgsHMap "__backward_Convolution_v1" t a -> TensorApply t+__backward_Convolution_v1 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_Convolution_v1" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_Correlation" t = '[]++__backward_Correlation ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__backward_Correlation" t a,+                          HasCallStack) =>+                         ArgsHMap "__backward_Correlation" t a -> TensorApply t+__backward_Correlation args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_Correlation" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_Crop" t = '[]++__backward_Crop ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_Crop" t a, HasCallStack) =>+                  ArgsHMap "__backward_Crop" t a -> TensorApply t+__backward_Crop args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_Crop" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_CuDNNBatchNorm" t = '[]++__backward_CuDNNBatchNorm ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__backward_CuDNNBatchNorm" t a,+                             HasCallStack) =>+                            ArgsHMap "__backward_CuDNNBatchNorm" t a -> TensorApply t+__backward_CuDNNBatchNorm args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_CuDNNBatchNorm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_Custom" t = '[]++__backward_Custom ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__backward_Custom" t a, HasCallStack) =>+                    ArgsHMap "__backward_Custom" t a -> TensorApply t+__backward_Custom args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_Custom" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_CustomFunction" t = '[]++__backward_CustomFunction ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__backward_CustomFunction" t a,+                             HasCallStack) =>+                            ArgsHMap "__backward_CustomFunction" t a -> TensorApply t+__backward_CustomFunction args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_CustomFunction" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_Deconvolution" t = '[]++__backward_Deconvolution ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward_Deconvolution" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward_Deconvolution" t a -> TensorApply t+__backward_Deconvolution args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_Deconvolution" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_Dropout" t = '[]++__backward_Dropout ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_Dropout" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_Dropout" t a -> TensorApply t+__backward_Dropout args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_Dropout" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_Embedding" t = '[]++__backward_Embedding ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_Embedding" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_Embedding" t a -> TensorApply t+__backward_Embedding args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_Embedding" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_FullyConnected" t = '[]++__backward_FullyConnected ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__backward_FullyConnected" t a,+                             HasCallStack) =>+                            ArgsHMap "__backward_FullyConnected" t a -> TensorApply t+__backward_FullyConnected args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_FullyConnected" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_GridGenerator" t = '[]++__backward_GridGenerator ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward_GridGenerator" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward_GridGenerator" t a -> TensorApply t+__backward_GridGenerator args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_GridGenerator" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_GroupNorm" t = '[]++__backward_GroupNorm ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_GroupNorm" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_GroupNorm" t a -> TensorApply t+__backward_GroupNorm args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_GroupNorm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__backward_IdentityAttachKLSparseReg" t = '[]++__backward_IdentityAttachKLSparseReg ::+                                     forall a t .+                                       (TensorOp t t,+                                        Fullfilled "__backward_IdentityAttachKLSparseReg" t a,+                                        HasCallStack) =>+                                       ArgsHMap "__backward_IdentityAttachKLSparseReg" t a ->+                                         TensorApply t+__backward_IdentityAttachKLSparseReg args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_IdentityAttachKLSparseReg" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_InstanceNorm" t = '[]++__backward_InstanceNorm ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_InstanceNorm" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_InstanceNorm" t a -> TensorApply t+__backward_InstanceNorm args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_InstanceNorm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_L2Normalization" t = '[]++__backward_L2Normalization ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__backward_L2Normalization" t a,+                              HasCallStack) =>+                             ArgsHMap "__backward_L2Normalization" t a -> TensorApply t+__backward_L2Normalization args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_L2Normalization" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_LRN" t = '[]++__backward_LRN ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_LRN" t a, HasCallStack) =>+                 ArgsHMap "__backward_LRN" t a -> TensorApply t+__backward_LRN args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_LRN" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_LayerNorm" t = '[]++__backward_LayerNorm ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_LayerNorm" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_LayerNorm" t a -> TensorApply t+__backward_LayerNorm args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_LayerNorm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_LeakyReLU" t = '[]++__backward_LeakyReLU ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_LeakyReLU" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_LeakyReLU" t a -> TensorApply t+__backward_LeakyReLU args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_LeakyReLU" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_MakeLoss" t = '[]++__backward_MakeLoss ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__backward_MakeLoss" t a,+                       HasCallStack) =>+                      ArgsHMap "__backward_MakeLoss" t a -> TensorApply t+__backward_MakeLoss args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_MakeLoss" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_Pad" t = '[]++__backward_Pad ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_Pad" t a, HasCallStack) =>+                 ArgsHMap "__backward_Pad" t a -> TensorApply t+__backward_Pad args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_Pad" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_Pooling" t = '[]++__backward_Pooling ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_Pooling" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_Pooling" t a -> TensorApply t+__backward_Pooling args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_Pooling" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_Pooling_v1" t = '[]++__backward_Pooling_v1 ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_Pooling_v1" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_Pooling_v1" t a -> TensorApply t+__backward_Pooling_v1 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_Pooling_v1" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_RNN" t = '[]++__backward_RNN ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_RNN" t a, HasCallStack) =>+                 ArgsHMap "__backward_RNN" t a -> TensorApply t+__backward_RNN args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_RNN" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_ROIAlign" t = '[]++__backward_ROIAlign ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__backward_ROIAlign" t a,+                       HasCallStack) =>+                      ArgsHMap "__backward_ROIAlign" t a -> TensorApply t+__backward_ROIAlign args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_ROIAlign" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_ROIPooling" t = '[]++__backward_ROIPooling ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_ROIPooling" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_ROIPooling" t a -> TensorApply t+__backward_ROIPooling args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_ROIPooling" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_RROIAlign" t = '[]++__backward_RROIAlign ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_RROIAlign" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_RROIAlign" t a -> TensorApply t+__backward_RROIAlign args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_RROIAlign" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_SVMOutput" t = '[]++__backward_SVMOutput ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_SVMOutput" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_SVMOutput" t a -> TensorApply t+__backward_SVMOutput args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_SVMOutput" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_SequenceLast" t = '[]++__backward_SequenceLast ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_SequenceLast" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_SequenceLast" t a -> TensorApply t+__backward_SequenceLast args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_SequenceLast" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_SequenceMask" t = '[]++__backward_SequenceMask ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_SequenceMask" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_SequenceMask" t a -> TensorApply t+__backward_SequenceMask args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_SequenceMask" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_SequenceReverse" t = '[]++__backward_SequenceReverse ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__backward_SequenceReverse" t a,+                              HasCallStack) =>+                             ArgsHMap "__backward_SequenceReverse" t a -> TensorApply t+__backward_SequenceReverse args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_SequenceReverse" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_SliceChannel" t = '[]++__backward_SliceChannel ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_SliceChannel" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_SliceChannel" t a -> TensorApply t+__backward_SliceChannel args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_SliceChannel" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_SoftmaxActivation" t = '[]++__backward_SoftmaxActivation ::+                             forall a t .+                               (TensorOp t t, Fullfilled "__backward_SoftmaxActivation" t a,+                                HasCallStack) =>+                               ArgsHMap "__backward_SoftmaxActivation" t a -> TensorApply t+__backward_SoftmaxActivation args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_SoftmaxActivation" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_SoftmaxOutput" t = '[]++__backward_SoftmaxOutput ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward_SoftmaxOutput" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward_SoftmaxOutput" t a -> TensorApply t+__backward_SoftmaxOutput args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_SoftmaxOutput" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_SparseEmbedding" t = '[]++__backward_SparseEmbedding ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__backward_SparseEmbedding" t a,+                              HasCallStack) =>+                             ArgsHMap "__backward_SparseEmbedding" t a -> TensorApply t+__backward_SparseEmbedding args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_SparseEmbedding" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_SpatialTransformer" t = '[]++__backward_SpatialTransformer ::+                              forall a t .+                                (TensorOp t t, Fullfilled "__backward_SpatialTransformer" t a,+                                 HasCallStack) =>+                                ArgsHMap "__backward_SpatialTransformer" t a -> TensorApply t+__backward_SpatialTransformer args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_SpatialTransformer" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_SwapAxis" t = '[]++__backward_SwapAxis ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__backward_SwapAxis" t a,+                       HasCallStack) =>+                      ArgsHMap "__backward_SwapAxis" t a -> TensorApply t+__backward_SwapAxis args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_SwapAxis" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_UpSampling" t = '[]++__backward_UpSampling ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_UpSampling" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_UpSampling" t a -> TensorApply t+__backward_UpSampling args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_UpSampling" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward__CrossDeviceCopy" t = '[]++__backward__CrossDeviceCopy ::+                            forall a t .+                              (TensorOp t t, Fullfilled "__backward__CrossDeviceCopy" t a,+                               HasCallStack) =>+                              ArgsHMap "__backward__CrossDeviceCopy" t a -> TensorApply t+__backward__CrossDeviceCopy args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__CrossDeviceCopy" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward__NDArray" t = '[]++__backward__NDArray ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__backward__NDArray" t a,+                       HasCallStack) =>+                      ArgsHMap "__backward__NDArray" t a -> TensorApply t+__backward__NDArray args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__NDArray" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward__Native" t = '[]++__backward__Native ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward__Native" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward__Native" t a -> TensorApply t+__backward__Native args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__Native" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__backward__contrib_DeformableConvolution" t = '[]++__backward__contrib_DeformableConvolution ::+                                          forall a t .+                                            (TensorOp t t,+                                             Fullfilled "__backward__contrib_DeformableConvolution"+                                               t a,+                                             HasCallStack) =>+                                            ArgsHMap "__backward__contrib_DeformableConvolution" t a+                                              -> TensorApply t+__backward__contrib_DeformableConvolution args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__contrib_DeformableConvolution" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__backward__contrib_DeformablePSROIPooling" t = '[]++__backward__contrib_DeformablePSROIPooling ::+                                           forall a t .+                                             (TensorOp t t,+                                              Fullfilled+                                                "__backward__contrib_DeformablePSROIPooling" t a,+                                              HasCallStack) =>+                                             ArgsHMap "__backward__contrib_DeformablePSROIPooling" t+                                               a+                                               -> TensorApply t+__backward__contrib_DeformablePSROIPooling args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__contrib_DeformablePSROIPooling" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__backward__contrib_MultiBoxDetection" t = '[]++__backward__contrib_MultiBoxDetection ::+                                      forall a t .+                                        (TensorOp t t,+                                         Fullfilled "__backward__contrib_MultiBoxDetection" t a,+                                         HasCallStack) =>+                                        ArgsHMap "__backward__contrib_MultiBoxDetection" t a ->+                                          TensorApply t+__backward__contrib_MultiBoxDetection args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__contrib_MultiBoxDetection" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward__contrib_MultiBoxPrior" t =+     '[]++__backward__contrib_MultiBoxPrior ::+                                  forall a t .+                                    (TensorOp t t,+                                     Fullfilled "__backward__contrib_MultiBoxPrior" t a,+                                     HasCallStack) =>+                                    ArgsHMap "__backward__contrib_MultiBoxPrior" t a ->+                                      TensorApply t+__backward__contrib_MultiBoxPrior args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__contrib_MultiBoxPrior" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward__contrib_MultiBoxTarget" t+     = '[]++__backward__contrib_MultiBoxTarget ::+                                   forall a t .+                                     (TensorOp t t,+                                      Fullfilled "__backward__contrib_MultiBoxTarget" t a,+                                      HasCallStack) =>+                                     ArgsHMap "__backward__contrib_MultiBoxTarget" t a ->+                                       TensorApply t+__backward__contrib_MultiBoxTarget args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__contrib_MultiBoxTarget" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward__contrib_MultiProposal" t =+     '[]++__backward__contrib_MultiProposal ::+                                  forall a t .+                                    (TensorOp t t,+                                     Fullfilled "__backward__contrib_MultiProposal" t a,+                                     HasCallStack) =>+                                    ArgsHMap "__backward__contrib_MultiProposal" t a ->+                                      TensorApply t+__backward__contrib_MultiProposal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__contrib_MultiProposal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward__contrib_PSROIPooling" t =+     '[]++__backward__contrib_PSROIPooling ::+                                 forall a t .+                                   (TensorOp t t, Fullfilled "__backward__contrib_PSROIPooling" t a,+                                    HasCallStack) =>+                                   ArgsHMap "__backward__contrib_PSROIPooling" t a -> TensorApply t+__backward__contrib_PSROIPooling args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__contrib_PSROIPooling" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward__contrib_Proposal" t = '[]++__backward__contrib_Proposal ::+                             forall a t .+                               (TensorOp t t, Fullfilled "__backward__contrib_Proposal" t a,+                                HasCallStack) =>+                               ArgsHMap "__backward__contrib_Proposal" t a -> TensorApply t+__backward__contrib_Proposal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__contrib_Proposal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward__contrib_SyncBatchNorm" t =+     '[]++__backward__contrib_SyncBatchNorm ::+                                  forall a t .+                                    (TensorOp t t,+                                     Fullfilled "__backward__contrib_SyncBatchNorm" t a,+                                     HasCallStack) =>+                                    ArgsHMap "__backward__contrib_SyncBatchNorm" t a ->+                                      TensorApply t+__backward__contrib_SyncBatchNorm args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__contrib_SyncBatchNorm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward__contrib_count_sketch" t =+     '[]++__backward__contrib_count_sketch ::+                                 forall a t .+                                   (TensorOp t t, Fullfilled "__backward__contrib_count_sketch" t a,+                                    HasCallStack) =>+                                   ArgsHMap "__backward__contrib_count_sketch" t a -> TensorApply t+__backward__contrib_count_sketch args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__contrib_count_sketch" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward__contrib_fft" t = '[]++__backward__contrib_fft ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward__contrib_fft" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward__contrib_fft" t a -> TensorApply t+__backward__contrib_fft args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__contrib_fft" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward__contrib_ifft" t = '[]++__backward__contrib_ifft ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward__contrib_ifft" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward__contrib_ifft" t a -> TensorApply t+__backward__contrib_ifft args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward__contrib_ifft" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_abs" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_abs ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_abs" t a, HasCallStack) =>+                 ArgsHMap "__backward_abs" t a -> TensorApply t+__backward_abs args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_abs" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_add" t = '[]++__backward_add ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_add" t a, HasCallStack) =>+                 ArgsHMap "__backward_add" t a -> TensorApply t+__backward_add args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_add" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_amp_cast" t = '[]++__backward_amp_cast ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__backward_amp_cast" t a,+                       HasCallStack) =>+                      ArgsHMap "__backward_amp_cast" t a -> TensorApply t+__backward_amp_cast args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_amp_cast" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_amp_multicast" t =+     '[ '("num_outputs", AttrReq Int), '("cast_narrow", AttrOpt Bool),+        '("grad", AttrOpt [t])]++__backward_amp_multicast ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward_amp_multicast" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward_amp_multicast" t a -> TensorApply t+__backward_amp_multicast args+  = let scalarArgs+          = catMaybes+              [("num_outputs",) . showValue <$>+                 (args !? #num_outputs :: Maybe Int),+               ("cast_narrow",) . showValue <$>+                 (args !? #cast_narrow :: Maybe Bool)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #grad :: Maybe [t])+      in apply "_backward_amp_multicast" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__backward_arccos" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_arccos ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__backward_arccos" t a, HasCallStack) =>+                    ArgsHMap "__backward_arccos" t a -> TensorApply t+__backward_arccos args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_arccos" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_arccosh" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_arccosh ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_arccosh" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_arccosh" t a -> TensorApply t+__backward_arccosh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_arccosh" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_arcsin" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_arcsin ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__backward_arcsin" t a, HasCallStack) =>+                    ArgsHMap "__backward_arcsin" t a -> TensorApply t+__backward_arcsin args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_arcsin" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_arcsinh" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_arcsinh ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_arcsinh" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_arcsinh" t a -> TensorApply t+__backward_arcsinh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_arcsinh" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_arctan" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_arctan ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__backward_arctan" t a, HasCallStack) =>+                    ArgsHMap "__backward_arctan" t a -> TensorApply t+__backward_arctan args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_arctan" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_arctanh" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_arctanh ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_arctanh" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_arctanh" t a -> TensorApply t+__backward_arctanh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_arctanh" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_backward_FullyConnected" t+     = '[]++__backward_backward_FullyConnected ::+                                   forall a t .+                                     (TensorOp t t,+                                      Fullfilled "__backward_backward_FullyConnected" t a,+                                      HasCallStack) =>+                                     ArgsHMap "__backward_backward_FullyConnected" t a ->+                                       TensorApply t+__backward_backward_FullyConnected args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_backward_FullyConnected" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_broadcast_add" t = '[]++__backward_broadcast_add ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward_broadcast_add" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward_broadcast_add" t a -> TensorApply t+__backward_broadcast_add args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_broadcast_add" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_broadcast_div" t = '[]++__backward_broadcast_div ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward_broadcast_div" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward_broadcast_div" t a -> TensorApply t+__backward_broadcast_div args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_broadcast_div" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_broadcast_hypot" t = '[]++__backward_broadcast_hypot ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__backward_broadcast_hypot" t a,+                              HasCallStack) =>+                             ArgsHMap "__backward_broadcast_hypot" t a -> TensorApply t+__backward_broadcast_hypot args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_broadcast_hypot" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_broadcast_maximum" t = '[]++__backward_broadcast_maximum ::+                             forall a t .+                               (TensorOp t t, Fullfilled "__backward_broadcast_maximum" t a,+                                HasCallStack) =>+                               ArgsHMap "__backward_broadcast_maximum" t a -> TensorApply t+__backward_broadcast_maximum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_broadcast_maximum" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_broadcast_minimum" t = '[]++__backward_broadcast_minimum ::+                             forall a t .+                               (TensorOp t t, Fullfilled "__backward_broadcast_minimum" t a,+                                HasCallStack) =>+                               ArgsHMap "__backward_broadcast_minimum" t a -> TensorApply t+__backward_broadcast_minimum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_broadcast_minimum" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_broadcast_mod" t = '[]++__backward_broadcast_mod ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward_broadcast_mod" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward_broadcast_mod" t a -> TensorApply t+__backward_broadcast_mod args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_broadcast_mod" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_broadcast_mul" t = '[]++__backward_broadcast_mul ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward_broadcast_mul" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward_broadcast_mul" t a -> TensorApply t+__backward_broadcast_mul args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_broadcast_mul" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_broadcast_power" t = '[]++__backward_broadcast_power ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__backward_broadcast_power" t a,+                              HasCallStack) =>+                             ArgsHMap "__backward_broadcast_power" t a -> TensorApply t+__backward_broadcast_power args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_broadcast_power" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_broadcast_sub" t = '[]++__backward_broadcast_sub ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward_broadcast_sub" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward_broadcast_sub" t a -> TensorApply t+__backward_broadcast_sub args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_broadcast_sub" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_cast" t = '[]++__backward_cast ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_cast" t a, HasCallStack) =>+                  ArgsHMap "__backward_cast" t a -> TensorApply t+__backward_cast args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_cast" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_cbrt" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_cbrt ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_cbrt" t a, HasCallStack) =>+                  ArgsHMap "__backward_cbrt" t a -> TensorApply t+__backward_cbrt args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_cbrt" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_clip" t = '[]++__backward_clip ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_clip" t a, HasCallStack) =>+                  ArgsHMap "__backward_clip" t a -> TensorApply t+__backward_clip args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_clip" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_cond" t = '[]++__backward_cond ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_cond" t a, HasCallStack) =>+                  ArgsHMap "__backward_cond" t a -> TensorApply t+__backward_cond args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_cond" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__backward_contrib_AdaptiveAvgPooling2D" t = '[]++__backward_contrib_AdaptiveAvgPooling2D ::+                                        forall a t .+                                          (TensorOp t t,+                                           Fullfilled "__backward_contrib_AdaptiveAvgPooling2D" t a,+                                           HasCallStack) =>+                                          ArgsHMap "__backward_contrib_AdaptiveAvgPooling2D" t a ->+                                            TensorApply t+__backward_contrib_AdaptiveAvgPooling2D args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_contrib_AdaptiveAvgPooling2D" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_contrib_BilinearResize2D" t+     = '[]++__backward_contrib_BilinearResize2D ::+                                    forall a t .+                                      (TensorOp t t,+                                       Fullfilled "__backward_contrib_BilinearResize2D" t a,+                                       HasCallStack) =>+                                      ArgsHMap "__backward_contrib_BilinearResize2D" t a ->+                                        TensorApply t+__backward_contrib_BilinearResize2D args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_contrib_BilinearResize2D" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__backward_contrib_bipartite_matching" t =+     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),+        '("topk", AttrOpt Int)]++__backward_contrib_bipartite_matching ::+                                      forall a t .+                                        (TensorOp t t,+                                         Fullfilled "__backward_contrib_bipartite_matching" t a,+                                         HasCallStack) =>+                                        ArgsHMap "__backward_contrib_bipartite_matching" t a ->+                                          TensorApply t+__backward_contrib_bipartite_matching args+  = let scalarArgs+          = catMaybes+              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),+               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),+               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_contrib_bipartite_matching" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_contrib_boolean_mask" t =+     '[ '("axis", AttrOpt Int)]++__backward_contrib_boolean_mask ::+                                forall a t .+                                  (TensorOp t t, Fullfilled "__backward_contrib_boolean_mask" t a,+                                   HasCallStack) =>+                                  ArgsHMap "__backward_contrib_boolean_mask" t a -> TensorApply t+__backward_contrib_boolean_mask args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_contrib_boolean_mask" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_contrib_box_iou" t =+     '[ '("format", AttrOpt (EnumType '["center", "corner"]))]++__backward_contrib_box_iou ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__backward_contrib_box_iou" t a,+                              HasCallStack) =>+                             ArgsHMap "__backward_contrib_box_iou" t a -> TensorApply t+__backward_contrib_box_iou args+  = let scalarArgs+          = catMaybes+              [("format",) . showValue <$>+                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_contrib_box_iou" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_contrib_box_nms" t =+     '[ '("overlap_thresh", AttrOpt Float),+        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),+        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),+        '("id_index", AttrOpt Int), '("background_id", AttrOpt Int),+        '("force_suppress", AttrOpt Bool),+        '("in_format", AttrOpt (EnumType '["center", "corner"])),+        '("out_format", AttrOpt (EnumType '["center", "corner"]))]++__backward_contrib_box_nms ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__backward_contrib_box_nms" t a,+                              HasCallStack) =>+                             ArgsHMap "__backward_contrib_box_nms" t a -> TensorApply t+__backward_contrib_box_nms args+  = let scalarArgs+          = catMaybes+              [("overlap_thresh",) . showValue <$>+                 (args !? #overlap_thresh :: Maybe Float),+               ("valid_thresh",) . showValue <$>+                 (args !? #valid_thresh :: Maybe Float),+               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),+               ("coord_start",) . showValue <$>+                 (args !? #coord_start :: Maybe Int),+               ("score_index",) . showValue <$>+                 (args !? #score_index :: Maybe Int),+               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),+               ("background_id",) . showValue <$>+                 (args !? #background_id :: Maybe Int),+               ("force_suppress",) . showValue <$>+                 (args !? #force_suppress :: Maybe Bool),+               ("in_format",) . showValue <$>+                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),+               ("out_format",) . showValue <$>+                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_contrib_box_nms" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_copy" t = '[]++__backward_copy ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_copy" t a, HasCallStack) =>+                  ArgsHMap "__backward_copy" t a -> TensorApply t+__backward_copy args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_copy" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_cos" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_cos ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_cos" t a, HasCallStack) =>+                 ArgsHMap "__backward_cos" t a -> TensorApply t+__backward_cos args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_cos" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_cosh" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_cosh ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_cosh" t a, HasCallStack) =>+                  ArgsHMap "__backward_cosh" t a -> TensorApply t+__backward_cosh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_cosh" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_ctc_loss" t = '[]++__backward_ctc_loss ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__backward_ctc_loss" t a,+                       HasCallStack) =>+                      ArgsHMap "__backward_ctc_loss" t a -> TensorApply t+__backward_ctc_loss args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_ctc_loss" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_degrees" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_degrees ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_degrees" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_degrees" t a -> TensorApply t+__backward_degrees args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_degrees" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_diag" t = '[]++__backward_diag ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_diag" t a, HasCallStack) =>+                  ArgsHMap "__backward_diag" t a -> TensorApply t+__backward_diag args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_diag" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_div" t = '[]++__backward_div ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_div" t a, HasCallStack) =>+                 ArgsHMap "__backward_div" t a -> TensorApply t+__backward_div args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_div" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_div_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__backward_div_scalar ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_div_scalar" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_div_scalar" t a -> TensorApply t+__backward_div_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_backward_div_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_dot" t =+     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),+        '("forward_stype",+          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"])))]++__backward_dot ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_dot" t a, HasCallStack) =>+                 ArgsHMap "__backward_dot" t a -> TensorApply t+__backward_dot args+  = let scalarArgs+          = catMaybes+              [("transpose_a",) . showValue <$>+                 (args !? #transpose_a :: Maybe Bool),+               ("transpose_b",) . showValue <$>+                 (args !? #transpose_b :: Maybe Bool),+               ("forward_stype",) . showValue <$>+                 (args !? #forward_stype ::+                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_dot" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_erf" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_erf ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_erf" t a, HasCallStack) =>+                 ArgsHMap "__backward_erf" t a -> TensorApply t+__backward_erf args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_erf" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_erfinv" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_erfinv ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__backward_erfinv" t a, HasCallStack) =>+                    ArgsHMap "__backward_erfinv" t a -> TensorApply t+__backward_erfinv args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_erfinv" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_expm1" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_expm1 ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__backward_expm1" t a, HasCallStack) =>+                   ArgsHMap "__backward_expm1" t a -> TensorApply t+__backward_expm1 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_expm1" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_foreach" t = '[]++__backward_foreach ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_foreach" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_foreach" t a -> TensorApply t+__backward_foreach args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_foreach" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_gamma" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_gamma ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__backward_gamma" t a, HasCallStack) =>+                   ArgsHMap "__backward_gamma" t a -> TensorApply t+__backward_gamma args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_gamma" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_gammaln" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_gammaln ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_gammaln" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_gammaln" t a -> TensorApply t+__backward_gammaln args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_gammaln" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_gather_nd" t =+     '[ '("shape", AttrReq [Int]), '("data", AttrOpt t),+        '("indices", AttrOpt t)]++__backward_gather_nd ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_gather_nd" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_gather_nd" t a -> TensorApply t+__backward_gather_nd args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("indices",) <$> (args !? #indices :: Maybe t)]+      in+      apply "_backward_gather_nd" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_hard_sigmoid" t = '[]++__backward_hard_sigmoid ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_hard_sigmoid" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_hard_sigmoid" t a -> TensorApply t+__backward_hard_sigmoid args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_hard_sigmoid" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_hypot" t = '[]++__backward_hypot ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__backward_hypot" t a, HasCallStack) =>+                   ArgsHMap "__backward_hypot" t a -> TensorApply t+__backward_hypot args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_hypot" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_hypot_scalar" t =+     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++__backward_hypot_scalar ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_hypot_scalar" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_hypot_scalar" t a -> TensorApply t+__backward_hypot_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_hypot_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_image_crop" t = '[]++__backward_image_crop ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_image_crop" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_image_crop" t a -> TensorApply t+__backward_image_crop args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_image_crop" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_image_normalize" t = '[]++__backward_image_normalize ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__backward_image_normalize" t a,+                              HasCallStack) =>+                             ArgsHMap "__backward_image_normalize" t a -> TensorApply t+__backward_image_normalize args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_image_normalize" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__backward_interleaved_matmul_encdec_qk" t = '[]++__backward_interleaved_matmul_encdec_qk ::+                                        forall a t .+                                          (TensorOp t t,+                                           Fullfilled "__backward_interleaved_matmul_encdec_qk" t a,+                                           HasCallStack) =>+                                          ArgsHMap "__backward_interleaved_matmul_encdec_qk" t a ->+                                            TensorApply t+__backward_interleaved_matmul_encdec_qk args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_interleaved_matmul_encdec_qk" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__backward_interleaved_matmul_encdec_valatt" t = '[]++__backward_interleaved_matmul_encdec_valatt ::+                                            forall a t .+                                              (TensorOp t t,+                                               Fullfilled+                                                 "__backward_interleaved_matmul_encdec_valatt" t a,+                                               HasCallStack) =>+                                              ArgsHMap "__backward_interleaved_matmul_encdec_valatt"+                                                t+                                                a+                                                -> TensorApply t+__backward_interleaved_matmul_encdec_valatt args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_interleaved_matmul_encdec_valatt" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__backward_interleaved_matmul_selfatt_qk" t = '[]++__backward_interleaved_matmul_selfatt_qk ::+                                         forall a t .+                                           (TensorOp t t,+                                            Fullfilled "__backward_interleaved_matmul_selfatt_qk" t+                                              a,+                                            HasCallStack) =>+                                           ArgsHMap "__backward_interleaved_matmul_selfatt_qk" t a+                                             -> TensorApply t+__backward_interleaved_matmul_selfatt_qk args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_interleaved_matmul_selfatt_qk" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__backward_interleaved_matmul_selfatt_valatt" t =+     '[]++__backward_interleaved_matmul_selfatt_valatt ::+                                             forall a t .+                                               (TensorOp t t,+                                                Fullfilled+                                                  "__backward_interleaved_matmul_selfatt_valatt" t+                                                  a,+                                                HasCallStack) =>+                                               ArgsHMap+                                                 "__backward_interleaved_matmul_selfatt_valatt"+                                                 t+                                                 a+                                                 -> TensorApply t+__backward_interleaved_matmul_selfatt_valatt args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_interleaved_matmul_selfatt_valatt" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_det" t = '[]++__backward_linalg_det ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_linalg_det" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_linalg_det" t a -> TensorApply t+__backward_linalg_det args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_det" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_extractdiag" t = '[]++__backward_linalg_extractdiag ::+                              forall a t .+                                (TensorOp t t, Fullfilled "__backward_linalg_extractdiag" t a,+                                 HasCallStack) =>+                                ArgsHMap "__backward_linalg_extractdiag" t a -> TensorApply t+__backward_linalg_extractdiag args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_extractdiag" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_extracttrian" t =+     '[]++__backward_linalg_extracttrian ::+                               forall a t .+                                 (TensorOp t t, Fullfilled "__backward_linalg_extracttrian" t a,+                                  HasCallStack) =>+                                 ArgsHMap "__backward_linalg_extracttrian" t a -> TensorApply t+__backward_linalg_extracttrian args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_extracttrian" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_gelqf" t = '[]++__backward_linalg_gelqf ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_linalg_gelqf" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_linalg_gelqf" t a -> TensorApply t+__backward_linalg_gelqf args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_gelqf" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_gemm" t = '[]++__backward_linalg_gemm ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__backward_linalg_gemm" t a,+                          HasCallStack) =>+                         ArgsHMap "__backward_linalg_gemm" t a -> TensorApply t+__backward_linalg_gemm args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_gemm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_gemm2" t = '[]++__backward_linalg_gemm2 ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_linalg_gemm2" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_linalg_gemm2" t a -> TensorApply t+__backward_linalg_gemm2 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_gemm2" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_inverse" t = '[]++__backward_linalg_inverse ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__backward_linalg_inverse" t a,+                             HasCallStack) =>+                            ArgsHMap "__backward_linalg_inverse" t a -> TensorApply t+__backward_linalg_inverse args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_inverse" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_makediag" t = '[]++__backward_linalg_makediag ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__backward_linalg_makediag" t a,+                              HasCallStack) =>+                             ArgsHMap "__backward_linalg_makediag" t a -> TensorApply t+__backward_linalg_makediag args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_makediag" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_maketrian" t = '[]++__backward_linalg_maketrian ::+                            forall a t .+                              (TensorOp t t, Fullfilled "__backward_linalg_maketrian" t a,+                               HasCallStack) =>+                              ArgsHMap "__backward_linalg_maketrian" t a -> TensorApply t+__backward_linalg_maketrian args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_maketrian" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_potrf" t = '[]++__backward_linalg_potrf ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_linalg_potrf" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_linalg_potrf" t a -> TensorApply t+__backward_linalg_potrf args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_potrf" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_potri" t = '[]++__backward_linalg_potri ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_linalg_potri" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_linalg_potri" t a -> TensorApply t+__backward_linalg_potri args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_potri" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_slogdet" t = '[]++__backward_linalg_slogdet ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__backward_linalg_slogdet" t a,+                             HasCallStack) =>+                            ArgsHMap "__backward_linalg_slogdet" t a -> TensorApply t+__backward_linalg_slogdet args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_slogdet" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_sumlogdiag" t = '[]++__backward_linalg_sumlogdiag ::+                             forall a t .+                               (TensorOp t t, Fullfilled "__backward_linalg_sumlogdiag" t a,+                                HasCallStack) =>+                               ArgsHMap "__backward_linalg_sumlogdiag" t a -> TensorApply t+__backward_linalg_sumlogdiag args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_sumlogdiag" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_syevd" t = '[]++__backward_linalg_syevd ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_linalg_syevd" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_linalg_syevd" t a -> TensorApply t+__backward_linalg_syevd args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_syevd" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_syrk" t = '[]++__backward_linalg_syrk ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__backward_linalg_syrk" t a,+                          HasCallStack) =>+                         ArgsHMap "__backward_linalg_syrk" t a -> TensorApply t+__backward_linalg_syrk args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_syrk" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_trmm" t = '[]++__backward_linalg_trmm ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__backward_linalg_trmm" t a,+                          HasCallStack) =>+                         ArgsHMap "__backward_linalg_trmm" t a -> TensorApply t+__backward_linalg_trmm args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_trmm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linalg_trsm" t = '[]++__backward_linalg_trsm ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__backward_linalg_trsm" t a,+                          HasCallStack) =>+                         ArgsHMap "__backward_linalg_trsm" t a -> TensorApply t+__backward_linalg_trsm args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linalg_trsm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_linear_reg_out" t = '[]++__backward_linear_reg_out ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__backward_linear_reg_out" t a,+                             HasCallStack) =>+                            ArgsHMap "__backward_linear_reg_out" t a -> TensorApply t+__backward_linear_reg_out args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_linear_reg_out" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_log" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_log ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_log" t a, HasCallStack) =>+                 ArgsHMap "__backward_log" t a -> TensorApply t+__backward_log args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_log" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_log10" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_log10 ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__backward_log10" t a, HasCallStack) =>+                   ArgsHMap "__backward_log10" t a -> TensorApply t+__backward_log10 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_log10" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_log1p" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_log1p ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__backward_log1p" t a, HasCallStack) =>+                   ArgsHMap "__backward_log1p" t a -> TensorApply t+__backward_log1p args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_log1p" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_log2" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_log2 ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_log2" t a, HasCallStack) =>+                  ArgsHMap "__backward_log2" t a -> TensorApply t+__backward_log2 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_log2" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_log_softmax" t =+     '[ '("args", AttrOpt [t])]++__backward_log_softmax ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__backward_log_softmax" t a,+                          HasCallStack) =>+                         ArgsHMap "__backward_log_softmax" t a -> TensorApply t+__backward_log_softmax args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #args :: Maybe [t])+      in apply "_backward_log_softmax" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__backward_logistic_reg_out" t = '[]++__backward_logistic_reg_out ::+                            forall a t .+                              (TensorOp t t, Fullfilled "__backward_logistic_reg_out" t a,+                               HasCallStack) =>+                              ArgsHMap "__backward_logistic_reg_out" t a -> TensorApply t+__backward_logistic_reg_out args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_logistic_reg_out" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_mae_reg_out" t = '[]++__backward_mae_reg_out ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__backward_mae_reg_out" t a,+                          HasCallStack) =>+                         ArgsHMap "__backward_mae_reg_out" t a -> TensorApply t+__backward_mae_reg_out args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_mae_reg_out" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_max" t = '[]++__backward_max ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_max" t a, HasCallStack) =>+                 ArgsHMap "__backward_max" t a -> TensorApply t+__backward_max args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_max" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_maximum" t = '[]++__backward_maximum ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_maximum" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_maximum" t a -> TensorApply t+__backward_maximum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_maximum" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_maximum_scalar" t =+     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++__backward_maximum_scalar ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__backward_maximum_scalar" t a,+                             HasCallStack) =>+                            ArgsHMap "__backward_maximum_scalar" t a -> TensorApply t+__backward_maximum_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_maximum_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_mean" t = '[]++__backward_mean ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_mean" t a, HasCallStack) =>+                  ArgsHMap "__backward_mean" t a -> TensorApply t+__backward_mean args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_mean" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_min" t = '[]++__backward_min ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_min" t a, HasCallStack) =>+                 ArgsHMap "__backward_min" t a -> TensorApply t+__backward_min args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_min" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_minimum" t = '[]++__backward_minimum ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_minimum" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_minimum" t a -> TensorApply t+__backward_minimum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_minimum" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_minimum_scalar" t =+     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++__backward_minimum_scalar ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__backward_minimum_scalar" t a,+                             HasCallStack) =>+                            ArgsHMap "__backward_minimum_scalar" t a -> TensorApply t+__backward_minimum_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_minimum_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_mod" t = '[]++__backward_mod ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_mod" t a, HasCallStack) =>+                 ArgsHMap "__backward_mod" t a -> TensorApply t+__backward_mod args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_mod" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_mod_scalar" t =+     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++__backward_mod_scalar ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_mod_scalar" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_mod_scalar" t a -> TensorApply t+__backward_mod_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_mod_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_moments" t = '[]++__backward_moments ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_moments" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_moments" t a -> TensorApply t+__backward_moments args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_moments" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_mul" t = '[]++__backward_mul ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_mul" t a, HasCallStack) =>+                 ArgsHMap "__backward_mul" t a -> TensorApply t+__backward_mul args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_mul" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_mul_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__backward_mul_scalar ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_mul_scalar" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_mul_scalar" t a -> TensorApply t+__backward_mul_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_backward_mul_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_nanprod" t = '[]++__backward_nanprod ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_nanprod" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_nanprod" t a -> TensorApply t+__backward_nanprod args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_nanprod" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_nansum" t = '[]++__backward_nansum ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__backward_nansum" t a, HasCallStack) =>+                    ArgsHMap "__backward_nansum" t a -> TensorApply t+__backward_nansum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_nansum" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_norm" t = '[]++__backward_norm ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_norm" t a, HasCallStack) =>+                  ArgsHMap "__backward_norm" t a -> TensorApply t+__backward_norm args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_norm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_np_broadcast_to" t = '[]++__backward_np_broadcast_to ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__backward_np_broadcast_to" t a,+                              HasCallStack) =>+                             ArgsHMap "__backward_np_broadcast_to" t a -> TensorApply t+__backward_np_broadcast_to args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_np_broadcast_to" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_np_column_stack" t = '[]++__backward_np_column_stack ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__backward_np_column_stack" t a,+                              HasCallStack) =>+                             ArgsHMap "__backward_np_column_stack" t a -> TensorApply t+__backward_np_column_stack args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_np_column_stack" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_np_concat" t = '[]++__backward_np_concat ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_np_concat" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_np_concat" t a -> TensorApply t+__backward_np_concat args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_np_concat" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_np_cumsum" t = '[]++__backward_np_cumsum ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_np_cumsum" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_np_cumsum" t a -> TensorApply t+__backward_np_cumsum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_np_cumsum" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_np_dot" t = '[]++__backward_np_dot ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__backward_np_dot" t a, HasCallStack) =>+                    ArgsHMap "__backward_np_dot" t a -> TensorApply t+__backward_np_dot args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_np_dot" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_np_dstack" t = '[]++__backward_np_dstack ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_np_dstack" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_np_dstack" t a -> TensorApply t+__backward_np_dstack args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_np_dstack" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_np_max" t = '[]++__backward_np_max ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__backward_np_max" t a, HasCallStack) =>+                    ArgsHMap "__backward_np_max" t a -> TensorApply t+__backward_np_max args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_np_max" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_np_mean" t = '[]++__backward_np_mean ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_np_mean" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_np_mean" t a -> TensorApply t+__backward_np_mean args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_np_mean" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_np_min" t = '[]++__backward_np_min ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__backward_np_min" t a, HasCallStack) =>+                    ArgsHMap "__backward_np_min" t a -> TensorApply t+__backward_np_min args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_np_min" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_np_prod" t = '[]++__backward_np_prod ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_np_prod" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_np_prod" t a -> TensorApply t+__backward_np_prod args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_np_prod" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_np_sum" t = '[]++__backward_np_sum ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__backward_np_sum" t a, HasCallStack) =>+                    ArgsHMap "__backward_np_sum" t a -> TensorApply t+__backward_np_sum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_np_sum" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_np_trace" t = '[]++__backward_np_trace ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__backward_np_trace" t a,+                       HasCallStack) =>+                      ArgsHMap "__backward_np_trace" t a -> TensorApply t+__backward_np_trace args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_np_trace" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_np_vstack" t = '[]++__backward_np_vstack ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_np_vstack" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_np_vstack" t a -> TensorApply t+__backward_np_vstack args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_np_vstack" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_arctan2" t = '[]++__backward_npi_arctan2 ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__backward_npi_arctan2" t a,+                          HasCallStack) =>+                         ArgsHMap "__backward_npi_arctan2" t a -> TensorApply t+__backward_npi_arctan2 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_npi_arctan2" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_arctan2_scalar" t =+     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++__backward_npi_arctan2_scalar ::+                              forall a t .+                                (TensorOp t t, Fullfilled "__backward_npi_arctan2_scalar" t a,+                                 HasCallStack) =>+                                ArgsHMap "__backward_npi_arctan2_scalar" t a -> TensorApply t+__backward_npi_arctan2_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_npi_arctan2_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_broadcast_mul" t = '[]++__backward_npi_broadcast_mul ::+                             forall a t .+                               (TensorOp t t, Fullfilled "__backward_npi_broadcast_mul" t a,+                                HasCallStack) =>+                               ArgsHMap "__backward_npi_broadcast_mul" t a -> TensorApply t+__backward_npi_broadcast_mul args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_npi_broadcast_mul" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_copysign" t = '[]++__backward_npi_copysign ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_npi_copysign" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_npi_copysign" t a -> TensorApply t+__backward_npi_copysign args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_npi_copysign" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_copysign_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__backward_npi_copysign_scalar ::+                               forall a t .+                                 (TensorOp t t, Fullfilled "__backward_npi_copysign_scalar" t a,+                                  HasCallStack) =>+                                 ArgsHMap "__backward_npi_copysign_scalar" t a -> TensorApply t+__backward_npi_copysign_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_backward_npi_copysign_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_diff" t = '[]++__backward_npi_diff ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__backward_npi_diff" t a,+                       HasCallStack) =>+                      ArgsHMap "__backward_npi_diff" t a -> TensorApply t+__backward_npi_diff args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_npi_diff" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_einsum" t = '[]++__backward_npi_einsum ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_npi_einsum" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_npi_einsum" t a -> TensorApply t+__backward_npi_einsum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_npi_einsum" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_flip" t = '[]++__backward_npi_flip ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__backward_npi_flip" t a,+                       HasCallStack) =>+                      ArgsHMap "__backward_npi_flip" t a -> TensorApply t+__backward_npi_flip args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_npi_flip" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_hypot" t = '[]++__backward_npi_hypot ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_npi_hypot" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_npi_hypot" t a -> TensorApply t+__backward_npi_hypot args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_npi_hypot" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_ldexp" t = '[]++__backward_npi_ldexp ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_npi_ldexp" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_npi_ldexp" t a -> TensorApply t+__backward_npi_ldexp args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_npi_ldexp" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_ldexp_scalar" t =+     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++__backward_npi_ldexp_scalar ::+                            forall a t .+                              (TensorOp t t, Fullfilled "__backward_npi_ldexp_scalar" t a,+                               HasCallStack) =>+                              ArgsHMap "__backward_npi_ldexp_scalar" t a -> TensorApply t+__backward_npi_ldexp_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_npi_ldexp_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_rarctan2_scalar" t =+     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++__backward_npi_rarctan2_scalar ::+                               forall a t .+                                 (TensorOp t t, Fullfilled "__backward_npi_rarctan2_scalar" t a,+                                  HasCallStack) =>+                                 ArgsHMap "__backward_npi_rarctan2_scalar" t a -> TensorApply t+__backward_npi_rarctan2_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_npi_rarctan2_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_rcopysign_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__backward_npi_rcopysign_scalar ::+                                forall a t .+                                  (TensorOp t t, Fullfilled "__backward_npi_rcopysign_scalar" t a,+                                   HasCallStack) =>+                                  ArgsHMap "__backward_npi_rcopysign_scalar" t a -> TensorApply t+__backward_npi_rcopysign_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_backward_npi_rcopysign_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_rldexp_scalar" t =+     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++__backward_npi_rldexp_scalar ::+                             forall a t .+                               (TensorOp t t, Fullfilled "__backward_npi_rldexp_scalar" t a,+                                HasCallStack) =>+                               ArgsHMap "__backward_npi_rldexp_scalar" t a -> TensorApply t+__backward_npi_rldexp_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_npi_rldexp_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_svd" t = '[]++__backward_npi_svd ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_npi_svd" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_npi_svd" t a -> TensorApply t+__backward_npi_svd args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_npi_svd" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_tensordot" t = '[]++__backward_npi_tensordot ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward_npi_tensordot" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward_npi_tensordot" t a -> TensorApply t+__backward_npi_tensordot args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_npi_tensordot" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_npi_tensordot_int_axes" t =+     '[]++__backward_npi_tensordot_int_axes ::+                                  forall a t .+                                    (TensorOp t t,+                                     Fullfilled "__backward_npi_tensordot_int_axes" t a,+                                     HasCallStack) =>+                                    ArgsHMap "__backward_npi_tensordot_int_axes" t a ->+                                      TensorApply t+__backward_npi_tensordot_int_axes args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_npi_tensordot_int_axes" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_pdf_dirichlet" t = '[]++__backward_pdf_dirichlet ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward_pdf_dirichlet" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward_pdf_dirichlet" t a -> TensorApply t+__backward_pdf_dirichlet args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_pdf_dirichlet" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_pdf_exponential" t = '[]++__backward_pdf_exponential ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__backward_pdf_exponential" t a,+                              HasCallStack) =>+                             ArgsHMap "__backward_pdf_exponential" t a -> TensorApply t+__backward_pdf_exponential args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_pdf_exponential" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_pdf_gamma" t = '[]++__backward_pdf_gamma ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_pdf_gamma" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_pdf_gamma" t a -> TensorApply t+__backward_pdf_gamma args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_pdf_gamma" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__backward_pdf_generalized_negative_binomial" t =+     '[]++__backward_pdf_generalized_negative_binomial ::+                                             forall a t .+                                               (TensorOp t t,+                                                Fullfilled+                                                  "__backward_pdf_generalized_negative_binomial" t+                                                  a,+                                                HasCallStack) =>+                                               ArgsHMap+                                                 "__backward_pdf_generalized_negative_binomial"+                                                 t+                                                 a+                                                 -> TensorApply t+__backward_pdf_generalized_negative_binomial args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_pdf_generalized_negative_binomial" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_pdf_negative_binomial" t =+     '[]++__backward_pdf_negative_binomial ::+                                 forall a t .+                                   (TensorOp t t, Fullfilled "__backward_pdf_negative_binomial" t a,+                                    HasCallStack) =>+                                   ArgsHMap "__backward_pdf_negative_binomial" t a -> TensorApply t+__backward_pdf_negative_binomial args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_pdf_negative_binomial" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_pdf_normal" t = '[]++__backward_pdf_normal ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_pdf_normal" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_pdf_normal" t a -> TensorApply t+__backward_pdf_normal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_pdf_normal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_pdf_poisson" t = '[]++__backward_pdf_poisson ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__backward_pdf_poisson" t a,+                          HasCallStack) =>+                         ArgsHMap "__backward_pdf_poisson" t a -> TensorApply t+__backward_pdf_poisson args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_pdf_poisson" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_pdf_uniform" t = '[]++__backward_pdf_uniform ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__backward_pdf_uniform" t a,+                          HasCallStack) =>+                         ArgsHMap "__backward_pdf_uniform" t a -> TensorApply t+__backward_pdf_uniform args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_pdf_uniform" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_pick" t = '[]++__backward_pick ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_pick" t a, HasCallStack) =>+                  ArgsHMap "__backward_pick" t a -> TensorApply t+__backward_pick args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_pick" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_power" t = '[]++__backward_power ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__backward_power" t a, HasCallStack) =>+                   ArgsHMap "__backward_power" t a -> TensorApply t+__backward_power args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_power" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_power_scalar" t =+     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++__backward_power_scalar ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__backward_power_scalar" t a,+                           HasCallStack) =>+                          ArgsHMap "__backward_power_scalar" t a -> TensorApply t+__backward_power_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_power_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_prod" t = '[]++__backward_prod ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_prod" t a, HasCallStack) =>+                  ArgsHMap "__backward_prod" t a -> TensorApply t+__backward_prod args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_prod" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_radians" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_radians ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_radians" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_radians" t a -> TensorApply t+__backward_radians args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_radians" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_rcbrt" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_rcbrt ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__backward_rcbrt" t a, HasCallStack) =>+                   ArgsHMap "__backward_rcbrt" t a -> TensorApply t+__backward_rcbrt args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_rcbrt" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_rdiv_scalar" t =+     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++__backward_rdiv_scalar ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__backward_rdiv_scalar" t a,+                          HasCallStack) =>+                         ArgsHMap "__backward_rdiv_scalar" t a -> TensorApply t+__backward_rdiv_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_rdiv_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_reciprocal" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_reciprocal ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_reciprocal" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_reciprocal" t a -> TensorApply t+__backward_reciprocal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_reciprocal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_relu" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_relu ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_relu" t a, HasCallStack) =>+                  ArgsHMap "__backward_relu" t a -> TensorApply t+__backward_relu args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_relu" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_repeat" t = '[]++__backward_repeat ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__backward_repeat" t a, HasCallStack) =>+                    ArgsHMap "__backward_repeat" t a -> TensorApply t+__backward_repeat args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_repeat" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_reshape" t = '[]++__backward_reshape ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_reshape" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_reshape" t a -> TensorApply t+__backward_reshape args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_reshape" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_reverse" t = '[]++__backward_reverse ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_reverse" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_reverse" t a -> TensorApply t+__backward_reverse args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_reverse" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_rmod_scalar" t =+     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++__backward_rmod_scalar ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__backward_rmod_scalar" t a,+                          HasCallStack) =>+                         ArgsHMap "__backward_rmod_scalar" t a -> TensorApply t+__backward_rmod_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_rmod_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_rpower_scalar" t =+     '[ '("scalar", AttrOpt Float), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++__backward_rpower_scalar ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward_rpower_scalar" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward_rpower_scalar" t a -> TensorApply t+__backward_rpower_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_rpower_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_rsqrt" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_rsqrt ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__backward_rsqrt" t a, HasCallStack) =>+                   ArgsHMap "__backward_rsqrt" t a -> TensorApply t+__backward_rsqrt args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_rsqrt" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_sample_multinomial" t = '[]++__backward_sample_multinomial ::+                              forall a t .+                                (TensorOp t t, Fullfilled "__backward_sample_multinomial" t a,+                                 HasCallStack) =>+                                ArgsHMap "__backward_sample_multinomial" t a -> TensorApply t+__backward_sample_multinomial args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_sample_multinomial" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_sigmoid" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_sigmoid ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_sigmoid" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_sigmoid" t a -> TensorApply t+__backward_sigmoid args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_sigmoid" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_sign" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_sign ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_sign" t a, HasCallStack) =>+                  ArgsHMap "__backward_sign" t a -> TensorApply t+__backward_sign args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_sign" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_sin" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_sin ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_sin" t a, HasCallStack) =>+                 ArgsHMap "__backward_sin" t a -> TensorApply t+__backward_sin args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_sin" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_sinh" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_sinh ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_sinh" t a, HasCallStack) =>+                  ArgsHMap "__backward_sinh" t a -> TensorApply t+__backward_sinh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_sinh" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_slice" t = '[]++__backward_slice ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__backward_slice" t a, HasCallStack) =>+                   ArgsHMap "__backward_slice" t a -> TensorApply t+__backward_slice args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_slice" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_slice_axis" t = '[]++__backward_slice_axis ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_slice_axis" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_slice_axis" t a -> TensorApply t+__backward_slice_axis args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_slice_axis" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_slice_like" t = '[]++__backward_slice_like ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_slice_like" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_slice_like" t a -> TensorApply t+__backward_slice_like args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_slice_like" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_smooth_l1" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_smooth_l1 ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__backward_smooth_l1" t a,+                        HasCallStack) =>+                       ArgsHMap "__backward_smooth_l1" t a -> TensorApply t+__backward_smooth_l1 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_smooth_l1" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_softmax" t =+     '[ '("args", AttrOpt [t])]++__backward_softmax ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_softmax" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_softmax" t a -> TensorApply t+__backward_softmax args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #args :: Maybe [t])+      in apply "_backward_softmax" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__backward_softmax_cross_entropy" t =+     '[]++__backward_softmax_cross_entropy ::+                                 forall a t .+                                   (TensorOp t t, Fullfilled "__backward_softmax_cross_entropy" t a,+                                    HasCallStack) =>+                                   ArgsHMap "__backward_softmax_cross_entropy" t a -> TensorApply t+__backward_softmax_cross_entropy args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_softmax_cross_entropy" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_softmin" t =+     '[ '("args", AttrOpt [t])]++__backward_softmin ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_softmin" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_softmin" t a -> TensorApply t+__backward_softmin args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #args :: Maybe [t])+      in apply "_backward_softmin" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__backward_softsign" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_softsign ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__backward_softsign" t a,+                       HasCallStack) =>+                      ArgsHMap "__backward_softsign" t a -> TensorApply t+__backward_softsign args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_softsign" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_sparse_retain" t = '[]++__backward_sparse_retain ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__backward_sparse_retain" t a,+                            HasCallStack) =>+                           ArgsHMap "__backward_sparse_retain" t a -> TensorApply t+__backward_sparse_retain args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_sparse_retain" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_sqrt" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_sqrt ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_sqrt" t a, HasCallStack) =>+                  ArgsHMap "__backward_sqrt" t a -> TensorApply t+__backward_sqrt args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_sqrt" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_square" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_square ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__backward_square" t a, HasCallStack) =>+                    ArgsHMap "__backward_square" t a -> TensorApply t+__backward_square args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_square" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_square_sum" t = '[]++__backward_square_sum ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_square_sum" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_square_sum" t a -> TensorApply t+__backward_square_sum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_square_sum" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_squeeze" t = '[]++__backward_squeeze ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__backward_squeeze" t a,+                      HasCallStack) =>+                     ArgsHMap "__backward_squeeze" t a -> TensorApply t+__backward_squeeze args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_squeeze" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_stack" t = '[]++__backward_stack ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__backward_stack" t a, HasCallStack) =>+                   ArgsHMap "__backward_stack" t a -> TensorApply t+__backward_stack args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_stack" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_sub" t = '[]++__backward_sub ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_sub" t a, HasCallStack) =>+                 ArgsHMap "__backward_sub" t a -> TensorApply t+__backward_sub args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_sub" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_sum" t = '[]++__backward_sum ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_sum" t a, HasCallStack) =>+                 ArgsHMap "__backward_sum" t a -> TensorApply t+__backward_sum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_sum" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_take" t = '[]++__backward_take ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_take" t a, HasCallStack) =>+                  ArgsHMap "__backward_take" t a -> TensorApply t+__backward_take args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_take" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_tan" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_tan ::+               forall a t .+                 (TensorOp t t, Fullfilled "__backward_tan" t a, HasCallStack) =>+                 ArgsHMap "__backward_tan" t a -> TensorApply t+__backward_tan args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_tan" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_tanh" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__backward_tanh ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_tanh" t a, HasCallStack) =>+                  ArgsHMap "__backward_tanh" t a -> TensorApply t+__backward_tanh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_backward_tanh" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_tile" t = '[]++__backward_tile ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_tile" t a, HasCallStack) =>+                  ArgsHMap "__backward_tile" t a -> TensorApply t+__backward_tile args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_tile" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_topk" t = '[]++__backward_topk ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_topk" t a, HasCallStack) =>+                  ArgsHMap "__backward_topk" t a -> TensorApply t+__backward_topk args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_topk" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_tril" t = '[]++__backward_tril ::+                forall a t .+                  (TensorOp t t, Fullfilled "__backward_tril" t a, HasCallStack) =>+                  ArgsHMap "__backward_tril" t a -> TensorApply t+__backward_tril args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_tril" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_where" t = '[]++__backward_where ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__backward_where" t a, HasCallStack) =>+                   ArgsHMap "__backward_where" t a -> TensorApply t+__backward_where args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_where" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__backward_while_loop" t = '[]++__backward_while_loop ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__backward_while_loop" t a,+                         HasCallStack) =>+                        ArgsHMap "__backward_while_loop" t a -> TensorApply t+__backward_while_loop args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_backward_while_loop" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__broadcast_backward" t = '[]++__broadcast_backward ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__broadcast_backward" t a,+                        HasCallStack) =>+                       ArgsHMap "__broadcast_backward" t a -> TensorApply t+__broadcast_backward args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_broadcast_backward" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_AdaptiveAvgPooling2D" t =+     '[ '("output_size", AttrOpt [Int]), '("data", AttrOpt t)]++__contrib_AdaptiveAvgPooling2D ::+                               forall a t .+                                 (TensorOp t t, Fullfilled "__contrib_AdaptiveAvgPooling2D" t a,+                                  HasCallStack) =>+                                 ArgsHMap "__contrib_AdaptiveAvgPooling2D" t a -> TensorApply t+__contrib_AdaptiveAvgPooling2D args+  = let scalarArgs+          = catMaybes+              [("output_size",) . showValue <$>+                 (args !? #output_size :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_AdaptiveAvgPooling2D" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_BilinearResize2D" t =+     '[ '("height", AttrOpt Int), '("width", AttrOpt Int),+        '("scale_height", AttrOpt (Maybe Float)),+        '("scale_width", AttrOpt (Maybe Float)),+        '("mode",+          AttrOpt+            (EnumType+               '["like", "odd_scale", "size", "to_even_down", "to_even_up",+                 "to_odd_down", "to_odd_up"])),+        '("data", AttrOpt t), '("like", AttrOpt t)]++__contrib_BilinearResize2D ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__contrib_BilinearResize2D" t a,+                              HasCallStack) =>+                             ArgsHMap "__contrib_BilinearResize2D" t a -> TensorApply t+__contrib_BilinearResize2D args+  = let scalarArgs+          = catMaybes+              [("height",) . showValue <$> (args !? #height :: Maybe Int),+               ("width",) . showValue <$> (args !? #width :: Maybe Int),+               ("scale_height",) . showValue <$>+                 (args !? #scale_height :: Maybe (Maybe Float)),+               ("scale_width",) . showValue <$>+                 (args !? #scale_width :: Maybe (Maybe Float)),+               ("mode",) . showValue <$>+                 (args !? #mode ::+                    Maybe+                      (EnumType+                         '["like", "odd_scale", "size", "to_even_down", "to_even_up",+                           "to_odd_down", "to_odd_up"]))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("like",) <$> (args !? #like :: Maybe t)]+      in+      apply "_contrib_BilinearResize2D" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_DeformableConvolution" t =+     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),+        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),+        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),+        '("num_deformable_group", AttrOpt Int),+        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),+        '("layout", AttrOpt (Maybe (EnumType '["NCDHW", "NCHW", "NCW"]))),+        '("data", AttrOpt t), '("offset", AttrOpt t),+        '("weight", AttrOpt t), '("bias", AttrOpt t)]++__contrib_DeformableConvolution ::+                                forall a t .+                                  (TensorOp t t, Fullfilled "__contrib_DeformableConvolution" t a,+                                   HasCallStack) =>+                                  ArgsHMap "__contrib_DeformableConvolution" t a -> TensorApply t+__contrib_DeformableConvolution args+  = let scalarArgs+          = catMaybes+              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),+               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),+               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),+               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),+               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),+               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),+               ("num_deformable_group",) . showValue <$>+                 (args !? #num_deformable_group :: Maybe Int),+               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),+               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),+               ("layout",) . showValue <$>+                 (args !? #layout ::+                    Maybe (Maybe (EnumType '["NCDHW", "NCHW", "NCW"])))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("offset",) <$> (args !? #offset :: Maybe t),+               ("weight",) <$> (args !? #weight :: Maybe t),+               ("bias",) <$> (args !? #bias :: Maybe t)]+      in+      apply "_contrib_DeformableConvolution" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_DeformablePSROIPooling" t =+     '[ '("spatial_scale", AttrReq Float), '("output_dim", AttrReq Int),+        '("group_size", AttrReq Int), '("pooled_size", AttrReq Int),+        '("part_size", AttrOpt Int), '("sample_per_part", AttrOpt Int),+        '("trans_std", AttrOpt Float), '("no_trans", AttrOpt Bool),+        '("data", AttrOpt t), '("rois", AttrOpt t), '("trans", AttrOpt t)]++__contrib_DeformablePSROIPooling ::+                                 forall a t .+                                   (TensorOp t t, Fullfilled "__contrib_DeformablePSROIPooling" t a,+                                    HasCallStack) =>+                                   ArgsHMap "__contrib_DeformablePSROIPooling" t a -> TensorApply t+__contrib_DeformablePSROIPooling args+  = let scalarArgs+          = catMaybes+              [("spatial_scale",) . showValue <$>+                 (args !? #spatial_scale :: Maybe Float),+               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),+               ("group_size",) . showValue <$> (args !? #group_size :: Maybe Int),+               ("pooled_size",) . showValue <$>+                 (args !? #pooled_size :: Maybe Int),+               ("part_size",) . showValue <$> (args !? #part_size :: Maybe Int),+               ("sample_per_part",) . showValue <$>+                 (args !? #sample_per_part :: Maybe Int),+               ("trans_std",) . showValue <$> (args !? #trans_std :: Maybe Float),+               ("no_trans",) . showValue <$> (args !? #no_trans :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("rois",) <$> (args !? #rois :: Maybe t),+               ("trans",) <$> (args !? #trans :: Maybe t)]+      in+      apply "_contrib_DeformablePSROIPooling" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_MultiBoxDetection" t =+     '[ '("clip", AttrOpt Bool), '("threshold", AttrOpt Float),+        '("background_id", AttrOpt Int), '("nms_threshold", AttrOpt Float),+        '("force_suppress", AttrOpt Bool), '("variances", AttrOpt [Float]),+        '("nms_topk", AttrOpt Int), '("cls_prob", AttrOpt t),+        '("loc_pred", AttrOpt t), '("anchor", AttrOpt t)]++__contrib_MultiBoxDetection ::+                            forall a t .+                              (TensorOp t t, Fullfilled "__contrib_MultiBoxDetection" t a,+                               HasCallStack) =>+                              ArgsHMap "__contrib_MultiBoxDetection" t a -> TensorApply t+__contrib_MultiBoxDetection args+  = let scalarArgs+          = catMaybes+              [("clip",) . showValue <$> (args !? #clip :: Maybe Bool),+               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),+               ("background_id",) . showValue <$>+                 (args !? #background_id :: Maybe Int),+               ("nms_threshold",) . showValue <$>+                 (args !? #nms_threshold :: Maybe Float),+               ("force_suppress",) . showValue <$>+                 (args !? #force_suppress :: Maybe Bool),+               ("variances",) . showValue <$>+                 (args !? #variances :: Maybe [Float]),+               ("nms_topk",) . showValue <$> (args !? #nms_topk :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("cls_prob",) <$> (args !? #cls_prob :: Maybe t),+               ("loc_pred",) <$> (args !? #loc_pred :: Maybe t),+               ("anchor",) <$> (args !? #anchor :: Maybe t)]+      in+      apply "_contrib_MultiBoxDetection" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_MultiBoxPrior" t =+     '[ '("sizes", AttrOpt [Float]), '("ratios", AttrOpt [Float]),+        '("clip", AttrOpt Bool), '("steps", AttrOpt [Float]),+        '("offsets", AttrOpt [Float]), '("data", AttrOpt t)]++__contrib_MultiBoxPrior ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__contrib_MultiBoxPrior" t a,+                           HasCallStack) =>+                          ArgsHMap "__contrib_MultiBoxPrior" t a -> TensorApply t+__contrib_MultiBoxPrior args+  = let scalarArgs+          = catMaybes+              [("sizes",) . showValue <$> (args !? #sizes :: Maybe [Float]),+               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),+               ("clip",) . showValue <$> (args !? #clip :: Maybe Bool),+               ("steps",) . showValue <$> (args !? #steps :: Maybe [Float]),+               ("offsets",) . showValue <$> (args !? #offsets :: Maybe [Float])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_MultiBoxPrior" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_MultiBoxTarget" t =+     '[ '("overlap_threshold", AttrOpt Float),+        '("ignore_label", AttrOpt Float),+        '("negative_mining_ratio", AttrOpt Float),+        '("negative_mining_thresh", AttrOpt Float),+        '("minimum_negative_samples", AttrOpt Int),+        '("variances", AttrOpt [Float]), '("anchor", AttrOpt t),+        '("label", AttrOpt t), '("cls_pred", AttrOpt t)]++__contrib_MultiBoxTarget ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__contrib_MultiBoxTarget" t a,+                            HasCallStack) =>+                           ArgsHMap "__contrib_MultiBoxTarget" t a -> TensorApply t+__contrib_MultiBoxTarget args+  = let scalarArgs+          = catMaybes+              [("overlap_threshold",) . showValue <$>+                 (args !? #overlap_threshold :: Maybe Float),+               ("ignore_label",) . showValue <$>+                 (args !? #ignore_label :: Maybe Float),+               ("negative_mining_ratio",) . showValue <$>+                 (args !? #negative_mining_ratio :: Maybe Float),+               ("negative_mining_thresh",) . showValue <$>+                 (args !? #negative_mining_thresh :: Maybe Float),+               ("minimum_negative_samples",) . showValue <$>+                 (args !? #minimum_negative_samples :: Maybe Int),+               ("variances",) . showValue <$>+                 (args !? #variances :: Maybe [Float])]+        tensorKeyArgs+          = catMaybes+              [("anchor",) <$> (args !? #anchor :: Maybe t),+               ("label",) <$> (args !? #label :: Maybe t),+               ("cls_pred",) <$> (args !? #cls_pred :: Maybe t)]+      in+      apply "_contrib_MultiBoxTarget" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_MultiProposal" t =+     '[ '("rpn_pre_nms_top_n", AttrOpt Int),+        '("rpn_post_nms_top_n", AttrOpt Int),+        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),+        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),+        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),+        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt t),+        '("bbox_pred", AttrOpt t), '("im_info", AttrOpt t)]++__contrib_MultiProposal ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__contrib_MultiProposal" t a,+                           HasCallStack) =>+                          ArgsHMap "__contrib_MultiProposal" t a -> TensorApply t+__contrib_MultiProposal args+  = let scalarArgs+          = catMaybes+              [("rpn_pre_nms_top_n",) . showValue <$>+                 (args !? #rpn_pre_nms_top_n :: Maybe Int),+               ("rpn_post_nms_top_n",) . showValue <$>+                 (args !? #rpn_post_nms_top_n :: Maybe Int),+               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),+               ("rpn_min_size",) . showValue <$>+                 (args !? #rpn_min_size :: Maybe Int),+               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),+               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),+               ("feature_stride",) . showValue <$>+                 (args !? #feature_stride :: Maybe Int),+               ("output_score",) . showValue <$>+                 (args !? #output_score :: Maybe Bool),+               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("cls_prob",) <$> (args !? #cls_prob :: Maybe t),+               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe t),+               ("im_info",) <$> (args !? #im_info :: Maybe t)]+      in+      apply "_contrib_MultiProposal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_PSROIPooling" t =+     '[ '("spatial_scale", AttrReq Float), '("output_dim", AttrReq Int),+        '("pooled_size", AttrReq Int), '("group_size", AttrOpt Int),+        '("data", AttrOpt t), '("rois", AttrOpt t)]++__contrib_PSROIPooling ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__contrib_PSROIPooling" t a,+                          HasCallStack) =>+                         ArgsHMap "__contrib_PSROIPooling" t a -> TensorApply t+__contrib_PSROIPooling args+  = let scalarArgs+          = catMaybes+              [("spatial_scale",) . showValue <$>+                 (args !? #spatial_scale :: Maybe Float),+               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),+               ("pooled_size",) . showValue <$>+                 (args !? #pooled_size :: Maybe Int),+               ("group_size",) . showValue <$> (args !? #group_size :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("rois",) <$> (args !? #rois :: Maybe t)]+      in+      apply "_contrib_PSROIPooling" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_Proposal" t =+     '[ '("rpn_pre_nms_top_n", AttrOpt Int),+        '("rpn_post_nms_top_n", AttrOpt Int),+        '("threshold", AttrOpt Float), '("rpn_min_size", AttrOpt Int),+        '("scales", AttrOpt [Float]), '("ratios", AttrOpt [Float]),+        '("feature_stride", AttrOpt Int), '("output_score", AttrOpt Bool),+        '("iou_loss", AttrOpt Bool), '("cls_prob", AttrOpt t),+        '("bbox_pred", AttrOpt t), '("im_info", AttrOpt t)]++__contrib_Proposal ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__contrib_Proposal" t a,+                      HasCallStack) =>+                     ArgsHMap "__contrib_Proposal" t a -> TensorApply t+__contrib_Proposal args+  = let scalarArgs+          = catMaybes+              [("rpn_pre_nms_top_n",) . showValue <$>+                 (args !? #rpn_pre_nms_top_n :: Maybe Int),+               ("rpn_post_nms_top_n",) . showValue <$>+                 (args !? #rpn_post_nms_top_n :: Maybe Int),+               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),+               ("rpn_min_size",) . showValue <$>+                 (args !? #rpn_min_size :: Maybe Int),+               ("scales",) . showValue <$> (args !? #scales :: Maybe [Float]),+               ("ratios",) . showValue <$> (args !? #ratios :: Maybe [Float]),+               ("feature_stride",) . showValue <$>+                 (args !? #feature_stride :: Maybe Int),+               ("output_score",) . showValue <$>+                 (args !? #output_score :: Maybe Bool),+               ("iou_loss",) . showValue <$> (args !? #iou_loss :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("cls_prob",) <$> (args !? #cls_prob :: Maybe t),+               ("bbox_pred",) <$> (args !? #bbox_pred :: Maybe t),+               ("im_info",) <$> (args !? #im_info :: Maybe t)]+      in+      apply "_contrib_Proposal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_ROIAlign" t =+     '[ '("pooled_size", AttrReq [Int]),+        '("spatial_scale", AttrReq Float), '("sample_ratio", AttrOpt Int),+        '("position_sensitive", AttrOpt Bool), '("data", AttrOpt t),+        '("rois", AttrOpt t)]++__contrib_ROIAlign ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__contrib_ROIAlign" t a,+                      HasCallStack) =>+                     ArgsHMap "__contrib_ROIAlign" t a -> TensorApply t+__contrib_ROIAlign args+  = let scalarArgs+          = catMaybes+              [("pooled_size",) . showValue <$>+                 (args !? #pooled_size :: Maybe [Int]),+               ("spatial_scale",) . showValue <$>+                 (args !? #spatial_scale :: Maybe Float),+               ("sample_ratio",) . showValue <$>+                 (args !? #sample_ratio :: Maybe Int),+               ("position_sensitive",) . showValue <$>+                 (args !? #position_sensitive :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("rois",) <$> (args !? #rois :: Maybe t)]+      in+      apply "_contrib_ROIAlign" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_RROIAlign" t =+     '[ '("pooled_size", AttrReq [Int]),+        '("spatial_scale", AttrReq Float),+        '("sampling_ratio", AttrOpt Int), '("data", AttrOpt t),+        '("rois", AttrOpt t)]++__contrib_RROIAlign ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__contrib_RROIAlign" t a,+                       HasCallStack) =>+                      ArgsHMap "__contrib_RROIAlign" t a -> TensorApply t+__contrib_RROIAlign args+  = let scalarArgs+          = catMaybes+              [("pooled_size",) . showValue <$>+                 (args !? #pooled_size :: Maybe [Int]),+               ("spatial_scale",) . showValue <$>+                 (args !? #spatial_scale :: Maybe Float),+               ("sampling_ratio",) . showValue <$>+                 (args !? #sampling_ratio :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("rois",) <$> (args !? #rois :: Maybe t)]+      in+      apply "_contrib_RROIAlign" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_SparseEmbedding" t =+     '[ '("input_dim", AttrReq Int), '("output_dim", AttrReq Int),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "int8",+                 "uint8"])),+        '("sparse_grad", AttrOpt Bool), '("data", AttrOpt t),+        '("weight", AttrOpt t)]++__contrib_SparseEmbedding ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__contrib_SparseEmbedding" t a,+                             HasCallStack) =>+                            ArgsHMap "__contrib_SparseEmbedding" t a -> TensorApply t+__contrib_SparseEmbedding args+  = let scalarArgs+          = catMaybes+              [("input_dim",) . showValue <$> (args !? #input_dim :: Maybe Int),+               ("output_dim",) . showValue <$> (args !? #output_dim :: Maybe Int),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "int8",+                           "uint8"])),+               ("sparse_grad",) . showValue <$>+                 (args !? #sparse_grad :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("weight",) <$> (args !? #weight :: Maybe t)]+      in+      apply "_contrib_SparseEmbedding" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_SyncBatchNorm" t =+     '[ '("eps", AttrOpt Float), '("momentum", AttrOpt Float),+        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),+        '("output_mean_var", AttrOpt Bool), '("ndev", AttrOpt Int),+        '("key", AttrReq Text), '("data", AttrOpt t),+        '("gamma", AttrOpt t), '("beta", AttrOpt t),+        '("moving_mean", AttrOpt t), '("moving_var", AttrOpt t)]++__contrib_SyncBatchNorm ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__contrib_SyncBatchNorm" t a,+                           HasCallStack) =>+                          ArgsHMap "__contrib_SyncBatchNorm" t a -> TensorApply t+__contrib_SyncBatchNorm args+  = let scalarArgs+          = catMaybes+              [("eps",) . showValue <$> (args !? #eps :: Maybe Float),+               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),+               ("use_global_stats",) . showValue <$>+                 (args !? #use_global_stats :: Maybe Bool),+               ("output_mean_var",) . showValue <$>+                 (args !? #output_mean_var :: Maybe Bool),+               ("ndev",) . showValue <$> (args !? #ndev :: Maybe Int),+               ("key",) . showValue <$> (args !? #key :: Maybe Text)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("gamma",) <$> (args !? #gamma :: Maybe t),+               ("beta",) <$> (args !? #beta :: Maybe t),+               ("moving_mean",) <$> (args !? #moving_mean :: Maybe t),+               ("moving_var",) <$> (args !? #moving_var :: Maybe t)]+      in+      apply "_contrib_SyncBatchNorm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_allclose" t =+     '[ '("rtol", AttrOpt Float), '("atol", AttrOpt Float),+        '("equal_nan", AttrOpt Bool), '("a", AttrOpt t), '("b", AttrOpt t)]++__contrib_allclose ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__contrib_allclose" t a,+                      HasCallStack) =>+                     ArgsHMap "__contrib_allclose" t a -> TensorApply t+__contrib_allclose args+  = let scalarArgs+          = catMaybes+              [("rtol",) . showValue <$> (args !? #rtol :: Maybe Float),+               ("atol",) . showValue <$> (args !? #atol :: Maybe Float),+               ("equal_nan",) . showValue <$> (args !? #equal_nan :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("a",) <$> (args !? #a :: Maybe t),+               ("b",) <$> (args !? #b :: Maybe t)]+      in+      apply "_contrib_allclose" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_arange_like" t =+     '[ '("start", AttrOpt Double), '("step", AttrOpt Double),+        '("repeat", AttrOpt Int), '("ctx", AttrOpt Text),+        '("axis", AttrOpt (Maybe Int)), '("data", AttrOpt t)]++__contrib_arange_like ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__contrib_arange_like" t a,+                         HasCallStack) =>+                        ArgsHMap "__contrib_arange_like" t a -> TensorApply t+__contrib_arange_like args+  = let scalarArgs+          = catMaybes+              [("start",) . showValue <$> (args !? #start :: Maybe Double),+               ("step",) . showValue <$> (args !? #step :: Maybe Double),+               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_arange_like" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__contrib_backward_gradientmultiplier" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__contrib_backward_gradientmultiplier ::+                                      forall a t .+                                        (TensorOp t t,+                                         Fullfilled "__contrib_backward_gradientmultiplier" t a,+                                         HasCallStack) =>+                                        ArgsHMap "__contrib_backward_gradientmultiplier" t a ->+                                          TensorApply t+__contrib_backward_gradientmultiplier args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_backward_gradientmultiplier" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_backward_hawkesll" t = '[]++__contrib_backward_hawkesll ::+                            forall a t .+                              (TensorOp t t, Fullfilled "__contrib_backward_hawkesll" t a,+                               HasCallStack) =>+                              ArgsHMap "__contrib_backward_hawkesll" t a -> TensorApply t+__contrib_backward_hawkesll args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_contrib_backward_hawkesll" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_backward_index_copy" t = '[]++__contrib_backward_index_copy ::+                              forall a t .+                                (TensorOp t t, Fullfilled "__contrib_backward_index_copy" t a,+                                 HasCallStack) =>+                                ArgsHMap "__contrib_backward_index_copy" t a -> TensorApply t+__contrib_backward_index_copy args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_contrib_backward_index_copy" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_backward_quadratic" t = '[]++__contrib_backward_quadratic ::+                             forall a t .+                               (TensorOp t t, Fullfilled "__contrib_backward_quadratic" t a,+                                HasCallStack) =>+                               ArgsHMap "__contrib_backward_quadratic" t a -> TensorApply t+__contrib_backward_quadratic args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_contrib_backward_quadratic" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_bipartite_matching" t =+     '[ '("is_ascend", AttrOpt Bool), '("threshold", AttrReq Float),+        '("topk", AttrOpt Int), '("data", AttrOpt t)]++__contrib_bipartite_matching ::+                             forall a t .+                               (TensorOp t t, Fullfilled "__contrib_bipartite_matching" t a,+                                HasCallStack) =>+                               ArgsHMap "__contrib_bipartite_matching" t a -> TensorApply t+__contrib_bipartite_matching args+  = let scalarArgs+          = catMaybes+              [("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),+               ("threshold",) . showValue <$> (args !? #threshold :: Maybe Float),+               ("topk",) . showValue <$> (args !? #topk :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_bipartite_matching" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_boolean_mask" t =+     '[ '("axis", AttrOpt Int), '("data", AttrOpt t),+        '("index", AttrOpt t)]++__contrib_boolean_mask ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__contrib_boolean_mask" t a,+                          HasCallStack) =>+                         ArgsHMap "__contrib_boolean_mask" t a -> TensorApply t+__contrib_boolean_mask args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("index",) <$> (args !? #index :: Maybe t)]+      in+      apply "_contrib_boolean_mask" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_box_decode" t =+     '[ '("std0", AttrOpt Float), '("std1", AttrOpt Float),+        '("std2", AttrOpt Float), '("std3", AttrOpt Float),+        '("clip", AttrOpt Float),+        '("format", AttrOpt (EnumType '["center", "corner"])),+        '("data", AttrOpt t), '("anchors", AttrOpt t)]++__contrib_box_decode ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__contrib_box_decode" t a,+                        HasCallStack) =>+                       ArgsHMap "__contrib_box_decode" t a -> TensorApply t+__contrib_box_decode args+  = let scalarArgs+          = catMaybes+              [("std0",) . showValue <$> (args !? #std0 :: Maybe Float),+               ("std1",) . showValue <$> (args !? #std1 :: Maybe Float),+               ("std2",) . showValue <$> (args !? #std2 :: Maybe Float),+               ("std3",) . showValue <$> (args !? #std3 :: Maybe Float),+               ("clip",) . showValue <$> (args !? #clip :: Maybe Float),+               ("format",) . showValue <$>+                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("anchors",) <$> (args !? #anchors :: Maybe t)]+      in+      apply "_contrib_box_decode" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_box_encode" t =+     '[ '("samples", AttrOpt t), '("matches", AttrOpt t),+        '("anchors", AttrOpt t), '("refs", AttrOpt t),+        '("means", AttrOpt t), '("stds", AttrOpt t)]++__contrib_box_encode ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__contrib_box_encode" t a,+                        HasCallStack) =>+                       ArgsHMap "__contrib_box_encode" t a -> TensorApply t+__contrib_box_encode args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("samples",) <$> (args !? #samples :: Maybe t),+               ("matches",) <$> (args !? #matches :: Maybe t),+               ("anchors",) <$> (args !? #anchors :: Maybe t),+               ("refs",) <$> (args !? #refs :: Maybe t),+               ("means",) <$> (args !? #means :: Maybe t),+               ("stds",) <$> (args !? #stds :: Maybe t)]+      in+      apply "_contrib_box_encode" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_box_iou" t =+     '[ '("format", AttrOpt (EnumType '["center", "corner"])),+        '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__contrib_box_iou ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__contrib_box_iou" t a, HasCallStack) =>+                    ArgsHMap "__contrib_box_iou" t a -> TensorApply t+__contrib_box_iou args+  = let scalarArgs+          = catMaybes+              [("format",) . showValue <$>+                 (args !? #format :: Maybe (EnumType '["center", "corner"]))]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_contrib_box_iou" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_box_nms" t =+     '[ '("overlap_thresh", AttrOpt Float),+        '("valid_thresh", AttrOpt Float), '("topk", AttrOpt Int),+        '("coord_start", AttrOpt Int), '("score_index", AttrOpt Int),+        '("id_index", AttrOpt Int), '("background_id", AttrOpt Int),+        '("force_suppress", AttrOpt Bool),+        '("in_format", AttrOpt (EnumType '["center", "corner"])),+        '("out_format", AttrOpt (EnumType '["center", "corner"])),+        '("data", AttrOpt t)]++__contrib_box_nms ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__contrib_box_nms" t a, HasCallStack) =>+                    ArgsHMap "__contrib_box_nms" t a -> TensorApply t+__contrib_box_nms args+  = let scalarArgs+          = catMaybes+              [("overlap_thresh",) . showValue <$>+                 (args !? #overlap_thresh :: Maybe Float),+               ("valid_thresh",) . showValue <$>+                 (args !? #valid_thresh :: Maybe Float),+               ("topk",) . showValue <$> (args !? #topk :: Maybe Int),+               ("coord_start",) . showValue <$>+                 (args !? #coord_start :: Maybe Int),+               ("score_index",) . showValue <$>+                 (args !? #score_index :: Maybe Int),+               ("id_index",) . showValue <$> (args !? #id_index :: Maybe Int),+               ("background_id",) . showValue <$>+                 (args !? #background_id :: Maybe Int),+               ("force_suppress",) . showValue <$>+                 (args !? #force_suppress :: Maybe Bool),+               ("in_format",) . showValue <$>+                 (args !? #in_format :: Maybe (EnumType '["center", "corner"])),+               ("out_format",) . showValue <$>+                 (args !? #out_format :: Maybe (EnumType '["center", "corner"]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_box_nms" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_calibrate_entropy" t =+     '[ '("num_quantized_bins", AttrOpt Int), '("hist", AttrOpt t),+        '("hist_edges", AttrOpt t)]++__contrib_calibrate_entropy ::+                            forall a t .+                              (TensorOp t t, Fullfilled "__contrib_calibrate_entropy" t a,+                               HasCallStack) =>+                              ArgsHMap "__contrib_calibrate_entropy" t a -> TensorApply t+__contrib_calibrate_entropy args+  = let scalarArgs+          = catMaybes+              [("num_quantized_bins",) . showValue <$>+                 (args !? #num_quantized_bins :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("hist",) <$> (args !? #hist :: Maybe t),+               ("hist_edges",) <$> (args !? #hist_edges :: Maybe t)]+      in+      apply "_contrib_calibrate_entropy" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_count_sketch" t =+     '[ '("out_dim", AttrReq Int),+        '("processing_batch_size", AttrOpt Int), '("data", AttrOpt t),+        '("h", AttrOpt t), '("s", AttrOpt t)]++__contrib_count_sketch ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__contrib_count_sketch" t a,+                          HasCallStack) =>+                         ArgsHMap "__contrib_count_sketch" t a -> TensorApply t+__contrib_count_sketch args+  = let scalarArgs+          = catMaybes+              [("out_dim",) . showValue <$> (args !? #out_dim :: Maybe Int),+               ("processing_batch_size",) . showValue <$>+                 (args !? #processing_batch_size :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("h",) <$> (args !? #h :: Maybe t),+               ("s",) <$> (args !? #s :: Maybe t)]+      in+      apply "_contrib_count_sketch" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_dequantize" t =+     '[ '("out_type", AttrOpt (EnumType '["float32"])),+        '("data", AttrOpt t), '("min_range", AttrOpt t),+        '("max_range", AttrOpt t)]++__contrib_dequantize ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__contrib_dequantize" t a,+                        HasCallStack) =>+                       ArgsHMap "__contrib_dequantize" t a -> TensorApply t+__contrib_dequantize args+  = let scalarArgs+          = catMaybes+              [("out_type",) . showValue <$>+                 (args !? #out_type :: Maybe (EnumType '["float32"]))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("min_range",) <$> (args !? #min_range :: Maybe t),+               ("max_range",) <$> (args !? #max_range :: Maybe t)]+      in+      apply "_contrib_dequantize" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_dgl_adjacency" t =+     '[ '("data", AttrOpt t)]++__contrib_dgl_adjacency ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__contrib_dgl_adjacency" t a,+                           HasCallStack) =>+                          ArgsHMap "__contrib_dgl_adjacency" t a -> TensorApply t+__contrib_dgl_adjacency args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_dgl_adjacency" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_div_sqrt_dim" t =+     '[ '("data", AttrOpt t)]++__contrib_div_sqrt_dim ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__contrib_div_sqrt_dim" t a,+                          HasCallStack) =>+                         ArgsHMap "__contrib_div_sqrt_dim" t a -> TensorApply t+__contrib_div_sqrt_dim args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_div_sqrt_dim" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_edge_id" t =+     '[ '("data", AttrOpt t), '("u", AttrOpt t), '("v", AttrOpt t)]++__contrib_edge_id ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__contrib_edge_id" t a, HasCallStack) =>+                    ArgsHMap "__contrib_edge_id" t a -> TensorApply t+__contrib_edge_id args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("u",) <$> (args !? #u :: Maybe t),+               ("v",) <$> (args !? #v :: Maybe t)]+      in+      apply "_contrib_edge_id" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_fft" t =+     '[ '("compute_size", AttrOpt Int), '("data", AttrOpt t)]++__contrib_fft ::+              forall a t .+                (TensorOp t t, Fullfilled "__contrib_fft" t a, HasCallStack) =>+                ArgsHMap "__contrib_fft" t a -> TensorApply t+__contrib_fft args+  = let scalarArgs+          = catMaybes+              [("compute_size",) . showValue <$>+                 (args !? #compute_size :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_fft" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_getnnz" t =+     '[ '("axis", AttrOpt (Maybe Int)), '("data", AttrOpt t)]++__contrib_getnnz ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__contrib_getnnz" t a, HasCallStack) =>+                   ArgsHMap "__contrib_getnnz" t a -> TensorApply t+__contrib_getnnz args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_getnnz" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_gradientmultiplier" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__contrib_gradientmultiplier ::+                             forall a t .+                               (TensorOp t t, Fullfilled "__contrib_gradientmultiplier" t a,+                                HasCallStack) =>+                               ArgsHMap "__contrib_gradientmultiplier" t a -> TensorApply t+__contrib_gradientmultiplier args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_gradientmultiplier" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_group_adagrad_update" t =+     '[ '("lr", AttrReq Float), '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("epsilon", AttrOpt Float),+        '("weight", AttrOpt t), '("grad", AttrOpt t),+        '("history", AttrOpt t)]++__contrib_group_adagrad_update ::+                               forall a t .+                                 (TensorOp t t, Fullfilled "__contrib_group_adagrad_update" t a,+                                  HasCallStack) =>+                                 ArgsHMap "__contrib_group_adagrad_update" t a -> TensorApply t+__contrib_group_adagrad_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("history",) <$> (args !? #history :: Maybe t)]+      in+      apply "_contrib_group_adagrad_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_hawkesll" t =+     '[ '("lda", AttrOpt t), '("alpha", AttrOpt t),+        '("beta", AttrOpt t), '("state", AttrOpt t), '("lags", AttrOpt t),+        '("marks", AttrOpt t), '("valid_length", AttrOpt t),+        '("max_time", AttrOpt t)]++__contrib_hawkesll ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__contrib_hawkesll" t a,+                      HasCallStack) =>+                     ArgsHMap "__contrib_hawkesll" t a -> TensorApply t+__contrib_hawkesll args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lda",) <$> (args !? #lda :: Maybe t),+               ("alpha",) <$> (args !? #alpha :: Maybe t),+               ("beta",) <$> (args !? #beta :: Maybe t),+               ("state",) <$> (args !? #state :: Maybe t),+               ("lags",) <$> (args !? #lags :: Maybe t),+               ("marks",) <$> (args !? #marks :: Maybe t),+               ("valid_length",) <$> (args !? #valid_length :: Maybe t),+               ("max_time",) <$> (args !? #max_time :: Maybe t)]+      in+      apply "_contrib_hawkesll" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_ifft" t =+     '[ '("compute_size", AttrOpt Int), '("data", AttrOpt t)]++__contrib_ifft ::+               forall a t .+                 (TensorOp t t, Fullfilled "__contrib_ifft" t a, HasCallStack) =>+                 ArgsHMap "__contrib_ifft" t a -> TensorApply t+__contrib_ifft args+  = let scalarArgs+          = catMaybes+              [("compute_size",) . showValue <$>+                 (args !? #compute_size :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_ifft" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_index_array" t =+     '[ '("axes", AttrOpt (Maybe [Int])), '("data", AttrOpt t)]++__contrib_index_array ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__contrib_index_array" t a,+                         HasCallStack) =>+                        ArgsHMap "__contrib_index_array" t a -> TensorApply t+__contrib_index_array args+  = let scalarArgs+          = catMaybes+              [("axes",) . showValue <$> (args !? #axes :: Maybe (Maybe [Int]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_index_array" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_index_copy" t =+     '[ '("old_tensor", AttrOpt t), '("index_vector", AttrOpt t),+        '("new_tensor", AttrOpt t)]++__contrib_index_copy ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__contrib_index_copy" t a,+                        HasCallStack) =>+                       ArgsHMap "__contrib_index_copy" t a -> TensorApply t+__contrib_index_copy args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("old_tensor",) <$> (args !? #old_tensor :: Maybe t),+               ("index_vector",) <$> (args !? #index_vector :: Maybe t),+               ("new_tensor",) <$> (args !? #new_tensor :: Maybe t)]+      in+      apply "_contrib_index_copy" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__contrib_interleaved_matmul_encdec_qk" t =+     '[ '("heads", AttrReq Int), '("queries", AttrOpt t),+        '("keys_values", AttrOpt t)]++__contrib_interleaved_matmul_encdec_qk ::+                                       forall a t .+                                         (TensorOp t t,+                                          Fullfilled "__contrib_interleaved_matmul_encdec_qk" t a,+                                          HasCallStack) =>+                                         ArgsHMap "__contrib_interleaved_matmul_encdec_qk" t a ->+                                           TensorApply t+__contrib_interleaved_matmul_encdec_qk args+  = let scalarArgs+          = catMaybes+              [("heads",) . showValue <$> (args !? #heads :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("queries",) <$> (args !? #queries :: Maybe t),+               ("keys_values",) <$> (args !? #keys_values :: Maybe t)]+      in+      apply "_contrib_interleaved_matmul_encdec_qk" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__contrib_interleaved_matmul_encdec_valatt" t =+     '[ '("heads", AttrReq Int), '("keys_values", AttrOpt t),+        '("attention", AttrOpt t)]++__contrib_interleaved_matmul_encdec_valatt ::+                                           forall a t .+                                             (TensorOp t t,+                                              Fullfilled+                                                "__contrib_interleaved_matmul_encdec_valatt" t a,+                                              HasCallStack) =>+                                             ArgsHMap "__contrib_interleaved_matmul_encdec_valatt" t+                                               a+                                               -> TensorApply t+__contrib_interleaved_matmul_encdec_valatt args+  = let scalarArgs+          = catMaybes+              [("heads",) . showValue <$> (args !? #heads :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("keys_values",) <$> (args !? #keys_values :: Maybe t),+               ("attention",) <$> (args !? #attention :: Maybe t)]+      in+      apply "_contrib_interleaved_matmul_encdec_valatt" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__contrib_interleaved_matmul_selfatt_qk" t =+     '[ '("heads", AttrReq Int), '("queries_keys_values", AttrOpt t)]++__contrib_interleaved_matmul_selfatt_qk ::+                                        forall a t .+                                          (TensorOp t t,+                                           Fullfilled "__contrib_interleaved_matmul_selfatt_qk" t a,+                                           HasCallStack) =>+                                          ArgsHMap "__contrib_interleaved_matmul_selfatt_qk" t a ->+                                            TensorApply t+__contrib_interleaved_matmul_selfatt_qk args+  = let scalarArgs+          = catMaybes+              [("heads",) . showValue <$> (args !? #heads :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("queries_keys_values",) <$>+                 (args !? #queries_keys_values :: Maybe t)]+      in+      apply "_contrib_interleaved_matmul_selfatt_qk" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__contrib_interleaved_matmul_selfatt_valatt" t =+     '[ '("heads", AttrReq Int), '("queries_keys_values", AttrOpt t),+        '("attention", AttrOpt t)]++__contrib_interleaved_matmul_selfatt_valatt ::+                                            forall a t .+                                              (TensorOp t t,+                                               Fullfilled+                                                 "__contrib_interleaved_matmul_selfatt_valatt" t a,+                                               HasCallStack) =>+                                              ArgsHMap "__contrib_interleaved_matmul_selfatt_valatt"+                                                t+                                                a+                                                -> TensorApply t+__contrib_interleaved_matmul_selfatt_valatt args+  = let scalarArgs+          = catMaybes+              [("heads",) . showValue <$> (args !? #heads :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("queries_keys_values",) <$>+                 (args !? #queries_keys_values :: Maybe t),+               ("attention",) <$> (args !? #attention :: Maybe t)]+      in+      apply "_contrib_interleaved_matmul_selfatt_valatt" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_mrcnn_mask_target" t =+     '[ '("num_rois", AttrReq Int), '("num_classes", AttrReq Int),+        '("mask_size", AttrReq [Int]), '("sample_ratio", AttrOpt Int),+        '("rois", AttrOpt t), '("gt_masks", AttrOpt t),+        '("matches", AttrOpt t), '("cls_targets", AttrOpt t)]++__contrib_mrcnn_mask_target ::+                            forall a t .+                              (TensorOp t t, Fullfilled "__contrib_mrcnn_mask_target" t a,+                               HasCallStack) =>+                              ArgsHMap "__contrib_mrcnn_mask_target" t a -> TensorApply t+__contrib_mrcnn_mask_target args+  = let scalarArgs+          = catMaybes+              [("num_rois",) . showValue <$> (args !? #num_rois :: Maybe Int),+               ("num_classes",) . showValue <$>+                 (args !? #num_classes :: Maybe Int),+               ("mask_size",) . showValue <$> (args !? #mask_size :: Maybe [Int]),+               ("sample_ratio",) . showValue <$>+                 (args !? #sample_ratio :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("rois",) <$> (args !? #rois :: Maybe t),+               ("gt_masks",) <$> (args !? #gt_masks :: Maybe t),+               ("matches",) <$> (args !? #matches :: Maybe t),+               ("cls_targets",) <$> (args !? #cls_targets :: Maybe t)]+      in+      apply "_contrib_mrcnn_mask_target" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_quadratic" t =+     '[ '("a", AttrOpt Float), '("b", AttrOpt Float),+        '("c", AttrOpt Float), '("data", AttrOpt t)]++__contrib_quadratic ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__contrib_quadratic" t a,+                       HasCallStack) =>+                      ArgsHMap "__contrib_quadratic" t a -> TensorApply t+__contrib_quadratic args+  = let scalarArgs+          = catMaybes+              [("a",) . showValue <$> (args !? #a :: Maybe Float),+               ("b",) . showValue <$> (args !? #b :: Maybe Float),+               ("c",) . showValue <$> (args !? #c :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_quadratic" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_quantize" t =+     '[ '("out_type", AttrOpt (EnumType '["int8", "uint8"])),+        '("data", AttrOpt t), '("min_range", AttrOpt t),+        '("max_range", AttrOpt t)]++__contrib_quantize ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__contrib_quantize" t a,+                      HasCallStack) =>+                     ArgsHMap "__contrib_quantize" t a -> TensorApply t+__contrib_quantize args+  = let scalarArgs+          = catMaybes+              [("out_type",) . showValue <$>+                 (args !? #out_type :: Maybe (EnumType '["int8", "uint8"]))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("min_range",) <$> (args !? #min_range :: Maybe t),+               ("max_range",) <$> (args !? #max_range :: Maybe t)]+      in+      apply "_contrib_quantize" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_quantize_v2" t =+     '[ '("out_type", AttrOpt (EnumType '["auto", "int8", "uint8"])),+        '("min_calib_range", AttrOpt (Maybe Float)),+        '("max_calib_range", AttrOpt (Maybe Float)), '("data", AttrOpt t)]++__contrib_quantize_v2 ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__contrib_quantize_v2" t a,+                         HasCallStack) =>+                        ArgsHMap "__contrib_quantize_v2" t a -> TensorApply t+__contrib_quantize_v2 args+  = let scalarArgs+          = catMaybes+              [("out_type",) . showValue <$>+                 (args !? #out_type :: Maybe (EnumType '["auto", "int8", "uint8"])),+               ("min_calib_range",) . showValue <$>+                 (args !? #min_calib_range :: Maybe (Maybe Float)),+               ("max_calib_range",) . showValue <$>+                 (args !? #max_calib_range :: Maybe (Maybe Float))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_quantize_v2" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_quantized_act" t =+     '[ '("act_type",+          AttrReq+            (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"])),+        '("data", AttrOpt t), '("min_data", AttrOpt t),+        '("max_data", AttrOpt t)]++__contrib_quantized_act ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__contrib_quantized_act" t a,+                           HasCallStack) =>+                          ArgsHMap "__contrib_quantized_act" t a -> TensorApply t+__contrib_quantized_act args+  = let scalarArgs+          = catMaybes+              [("act_type",) . showValue <$>+                 (args !? #act_type ::+                    Maybe+                      (EnumType '["relu", "sigmoid", "softrelu", "softsign", "tanh"]))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("min_data",) <$> (args !? #min_data :: Maybe t),+               ("max_data",) <$> (args !? #max_data :: Maybe t)]+      in+      apply "_contrib_quantized_act" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_quantized_batch_norm" t =+     '[ '("eps", AttrOpt Double), '("momentum", AttrOpt Float),+        '("fix_gamma", AttrOpt Bool), '("use_global_stats", AttrOpt Bool),+        '("output_mean_var", AttrOpt Bool), '("axis", AttrOpt Int),+        '("cudnn_off", AttrOpt Bool),+        '("min_calib_range", AttrOpt (Maybe Float)),+        '("max_calib_range", AttrOpt (Maybe Float)), '("data", AttrOpt t),+        '("gamma", AttrOpt t), '("beta", AttrOpt t),+        '("moving_mean", AttrOpt t), '("moving_var", AttrOpt t),+        '("min_data", AttrOpt t), '("max_data", AttrOpt t)]++__contrib_quantized_batch_norm ::+                               forall a t .+                                 (TensorOp t t, Fullfilled "__contrib_quantized_batch_norm" t a,+                                  HasCallStack) =>+                                 ArgsHMap "__contrib_quantized_batch_norm" t a -> TensorApply t+__contrib_quantized_batch_norm args+  = let scalarArgs+          = catMaybes+              [("eps",) . showValue <$> (args !? #eps :: Maybe Double),+               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("fix_gamma",) . showValue <$> (args !? #fix_gamma :: Maybe Bool),+               ("use_global_stats",) . showValue <$>+                 (args !? #use_global_stats :: Maybe Bool),+               ("output_mean_var",) . showValue <$>+                 (args !? #output_mean_var :: Maybe Bool),+               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),+               ("min_calib_range",) . showValue <$>+                 (args !? #min_calib_range :: Maybe (Maybe Float)),+               ("max_calib_range",) . showValue <$>+                 (args !? #max_calib_range :: Maybe (Maybe Float))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("gamma",) <$> (args !? #gamma :: Maybe t),+               ("beta",) <$> (args !? #beta :: Maybe t),+               ("moving_mean",) <$> (args !? #moving_mean :: Maybe t),+               ("moving_var",) <$> (args !? #moving_var :: Maybe t),+               ("min_data",) <$> (args !? #min_data :: Maybe t),+               ("max_data",) <$> (args !? #max_data :: Maybe t)]+      in+      apply "_contrib_quantized_batch_norm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_quantized_concat" t =+     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),+        '("data", AttrOpt [t])]++__contrib_quantized_concat ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__contrib_quantized_concat" t a,+                              HasCallStack) =>+                             ArgsHMap "__contrib_quantized_concat" t a -> TensorApply t+__contrib_quantized_concat args+  = let scalarArgs+          = catMaybes+              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),+               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in+      apply "_contrib_quantized_concat" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__contrib_quantized_conv" t =+     '[ '("kernel", AttrReq [Int]), '("stride", AttrOpt [Int]),+        '("dilate", AttrOpt [Int]), '("pad", AttrOpt [Int]),+        '("num_filter", AttrReq Int), '("num_group", AttrOpt Int),+        '("workspace", AttrOpt Int), '("no_bias", AttrOpt Bool),+        '("cudnn_tune",+          AttrOpt+            (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),+        '("cudnn_off", AttrOpt Bool),+        '("layout",+          AttrOpt+            (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"]))),+        '("data", AttrOpt t), '("weight", AttrOpt t), '("bias", AttrOpt t),+        '("min_data", AttrOpt t), '("max_data", AttrOpt t),+        '("min_weight", AttrOpt t), '("max_weight", AttrOpt t),+        '("min_bias", AttrOpt t), '("max_bias", AttrOpt t)]++__contrib_quantized_conv ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__contrib_quantized_conv" t a,+                            HasCallStack) =>+                           ArgsHMap "__contrib_quantized_conv" t a -> TensorApply t+__contrib_quantized_conv args+  = let scalarArgs+          = catMaybes+              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),+               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),+               ("dilate",) . showValue <$> (args !? #dilate :: Maybe [Int]),+               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),+               ("num_filter",) . showValue <$> (args !? #num_filter :: Maybe Int),+               ("num_group",) . showValue <$> (args !? #num_group :: Maybe Int),+               ("workspace",) . showValue <$> (args !? #workspace :: Maybe Int),+               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),+               ("cudnn_tune",) . showValue <$>+                 (args !? #cudnn_tune ::+                    Maybe (Maybe (EnumType '["fastest", "limited_workspace", "off"]))),+               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),+               ("layout",) . showValue <$>+                 (args !? #layout ::+                    Maybe+                      (Maybe (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC"])))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("weight",) <$> (args !? #weight :: Maybe t),+               ("bias",) <$> (args !? #bias :: Maybe t),+               ("min_data",) <$> (args !? #min_data :: Maybe t),+               ("max_data",) <$> (args !? #max_data :: Maybe t),+               ("min_weight",) <$> (args !? #min_weight :: Maybe t),+               ("max_weight",) <$> (args !? #max_weight :: Maybe t),+               ("min_bias",) <$> (args !? #min_bias :: Maybe t),+               ("max_bias",) <$> (args !? #max_bias :: Maybe t)]+      in+      apply "_contrib_quantized_conv" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_quantized_elemwise_add" t =+     '[ '("min_calib_range", AttrOpt (Maybe Float)),+        '("max_calib_range", AttrOpt (Maybe Float)), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t), '("lhs_min", AttrOpt t),+        '("lhs_max", AttrOpt t), '("rhs_min", AttrOpt t),+        '("rhs_max", AttrOpt t)]++__contrib_quantized_elemwise_add ::+                                 forall a t .+                                   (TensorOp t t, Fullfilled "__contrib_quantized_elemwise_add" t a,+                                    HasCallStack) =>+                                   ArgsHMap "__contrib_quantized_elemwise_add" t a -> TensorApply t+__contrib_quantized_elemwise_add args+  = let scalarArgs+          = catMaybes+              [("min_calib_range",) . showValue <$>+                 (args !? #min_calib_range :: Maybe (Maybe Float)),+               ("max_calib_range",) . showValue <$>+                 (args !? #max_calib_range :: Maybe (Maybe Float))]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t),+               ("lhs_min",) <$> (args !? #lhs_min :: Maybe t),+               ("lhs_max",) <$> (args !? #lhs_max :: Maybe t),+               ("rhs_min",) <$> (args !? #rhs_min :: Maybe t),+               ("rhs_max",) <$> (args !? #rhs_max :: Maybe t)]+      in+      apply "_contrib_quantized_elemwise_add" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_quantized_flatten" t =+     '[ '("data", AttrOpt t), '("min_data", AttrOpt t),+        '("max_data", AttrOpt t)]++__contrib_quantized_flatten ::+                            forall a t .+                              (TensorOp t t, Fullfilled "__contrib_quantized_flatten" t a,+                               HasCallStack) =>+                              ArgsHMap "__contrib_quantized_flatten" t a -> TensorApply t+__contrib_quantized_flatten args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("min_data",) <$> (args !? #min_data :: Maybe t),+               ("max_data",) <$> (args !? #max_data :: Maybe t)]+      in+      apply "_contrib_quantized_flatten" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_quantized_fully_connected" t+     =+     '[ '("num_hidden", AttrReq Int), '("no_bias", AttrOpt Bool),+        '("flatten", AttrOpt Bool), '("data", AttrOpt t),+        '("weight", AttrOpt t), '("bias", AttrOpt t),+        '("min_data", AttrOpt t), '("max_data", AttrOpt t),+        '("min_weight", AttrOpt t), '("max_weight", AttrOpt t),+        '("min_bias", AttrOpt t), '("max_bias", AttrOpt t)]++__contrib_quantized_fully_connected ::+                                    forall a t .+                                      (TensorOp t t,+                                       Fullfilled "__contrib_quantized_fully_connected" t a,+                                       HasCallStack) =>+                                      ArgsHMap "__contrib_quantized_fully_connected" t a ->+                                        TensorApply t+__contrib_quantized_fully_connected args+  = let scalarArgs+          = catMaybes+              [("num_hidden",) . showValue <$>+                 (args !? #num_hidden :: Maybe Int),+               ("no_bias",) . showValue <$> (args !? #no_bias :: Maybe Bool),+               ("flatten",) . showValue <$> (args !? #flatten :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("weight",) <$> (args !? #weight :: Maybe t),+               ("bias",) <$> (args !? #bias :: Maybe t),+               ("min_data",) <$> (args !? #min_data :: Maybe t),+               ("max_data",) <$> (args !? #max_data :: Maybe t),+               ("min_weight",) <$> (args !? #min_weight :: Maybe t),+               ("max_weight",) <$> (args !? #max_weight :: Maybe t),+               ("min_bias",) <$> (args !? #min_bias :: Maybe t),+               ("max_bias",) <$> (args !? #max_bias :: Maybe t)]+      in+      apply "_contrib_quantized_fully_connected" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_quantized_pooling" t =+     '[ '("kernel", AttrOpt [Int]),+        '("pool_type", AttrOpt (EnumType '["avg", "lp", "max", "sum"])),+        '("global_pool", AttrOpt Bool), '("cudnn_off", AttrOpt Bool),+        '("pooling_convention",+          AttrOpt (EnumType '["full", "same", "valid"])),+        '("stride", AttrOpt [Int]), '("pad", AttrOpt [Int]),+        '("p_value", AttrOpt (Maybe Int)),+        '("count_include_pad", AttrOpt (Maybe Bool)),+        '("layout",+          AttrOpt+            (Maybe+               (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"]))),+        '("data", AttrOpt t), '("min_data", AttrOpt t),+        '("max_data", AttrOpt t)]++__contrib_quantized_pooling ::+                            forall a t .+                              (TensorOp t t, Fullfilled "__contrib_quantized_pooling" t a,+                               HasCallStack) =>+                              ArgsHMap "__contrib_quantized_pooling" t a -> TensorApply t+__contrib_quantized_pooling args+  = let scalarArgs+          = catMaybes+              [("kernel",) . showValue <$> (args !? #kernel :: Maybe [Int]),+               ("pool_type",) . showValue <$>+                 (args !? #pool_type ::+                    Maybe (EnumType '["avg", "lp", "max", "sum"])),+               ("global_pool",) . showValue <$>+                 (args !? #global_pool :: Maybe Bool),+               ("cudnn_off",) . showValue <$> (args !? #cudnn_off :: Maybe Bool),+               ("pooling_convention",) . showValue <$>+                 (args !? #pooling_convention ::+                    Maybe (EnumType '["full", "same", "valid"])),+               ("stride",) . showValue <$> (args !? #stride :: Maybe [Int]),+               ("pad",) . showValue <$> (args !? #pad :: Maybe [Int]),+               ("p_value",) . showValue <$>+                 (args !? #p_value :: Maybe (Maybe Int)),+               ("count_include_pad",) . showValue <$>+                 (args !? #count_include_pad :: Maybe (Maybe Bool)),+               ("layout",) . showValue <$>+                 (args !? #layout ::+                    Maybe+                      (Maybe+                         (EnumType '["NCDHW", "NCHW", "NCW", "NDHWC", "NHWC", "NWC"])))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("min_data",) <$> (args !? #min_data :: Maybe t),+               ("max_data",) <$> (args !? #max_data :: Maybe t)]+      in+      apply "_contrib_quantized_pooling" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_requantize" t =+     '[ '("out_type", AttrOpt (EnumType '["auto", "int8", "uint8"])),+        '("min_calib_range", AttrOpt (Maybe Float)),+        '("max_calib_range", AttrOpt (Maybe Float)), '("data", AttrOpt t),+        '("min_range", AttrOpt t), '("max_range", AttrOpt t)]++__contrib_requantize ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__contrib_requantize" t a,+                        HasCallStack) =>+                       ArgsHMap "__contrib_requantize" t a -> TensorApply t+__contrib_requantize args+  = let scalarArgs+          = catMaybes+              [("out_type",) . showValue <$>+                 (args !? #out_type :: Maybe (EnumType '["auto", "int8", "uint8"])),+               ("min_calib_range",) . showValue <$>+                 (args !? #min_calib_range :: Maybe (Maybe Float)),+               ("max_calib_range",) . showValue <$>+                 (args !? #max_calib_range :: Maybe (Maybe Float))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("min_range",) <$> (args !? #min_range :: Maybe t),+               ("max_range",) <$> (args !? #max_range :: Maybe t)]+      in+      apply "_contrib_requantize" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_round_ste" t =+     '[ '("data", AttrOpt t)]++__contrib_round_ste ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__contrib_round_ste" t a,+                       HasCallStack) =>+                      ArgsHMap "__contrib_round_ste" t a -> TensorApply t+__contrib_round_ste args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_round_ste" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__contrib_sign_ste" t =+     '[ '("data", AttrOpt t)]++__contrib_sign_ste ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__contrib_sign_ste" t a,+                      HasCallStack) =>+                     ArgsHMap "__contrib_sign_ste" t a -> TensorApply t+__contrib_sign_ste args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_contrib_sign_ste" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__copy" t = '[ '("data", AttrOpt t)]++__copy ::+       forall a t .+         (TensorOp t t, Fullfilled "__copy" t a, HasCallStack) =>+         ArgsHMap "__copy" t a -> TensorApply t+__copy args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "_copy" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__copyto" t = '[ '("data", AttrOpt t)]++__copyto ::+         forall a t .+           (TensorOp t t, Fullfilled "__copyto" t a, HasCallStack) =>+           ArgsHMap "__copyto" t a -> TensorApply t+__copyto args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "_copyto" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__cvcopyMakeBorder" t =+     '[ '("top", AttrReq Int), '("bot", AttrReq Int),+        '("left", AttrReq Int), '("right", AttrReq Int),+        '("type", AttrOpt Int), '("value", AttrOpt Double),+        '("values", AttrOpt [Double]), '("src", AttrOpt t)]++__cvcopyMakeBorder ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__cvcopyMakeBorder" t a,+                      HasCallStack) =>+                     ArgsHMap "__cvcopyMakeBorder" t a -> TensorApply t+__cvcopyMakeBorder args+  = let scalarArgs+          = catMaybes+              [("top",) . showValue <$> (args !? #top :: Maybe Int),+               ("bot",) . showValue <$> (args !? #bot :: Maybe Int),+               ("left",) . showValue <$> (args !? #left :: Maybe Int),+               ("right",) . showValue <$> (args !? #right :: Maybe Int),+               ("type",) . showValue <$> (args !? #type :: Maybe Int),+               ("value",) . showValue <$> (args !? #value :: Maybe Double),+               ("values",) . showValue <$> (args !? #values :: Maybe [Double])]+        tensorKeyArgs = catMaybes [("src",) <$> (args !? #src :: Maybe t)]+      in+      apply "_cvcopyMakeBorder" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__cvimdecode" t =+     '[ '("flag", AttrOpt Int), '("to_rgb", AttrOpt Bool),+        '("buf", AttrOpt t)]++__cvimdecode ::+             forall a t .+               (TensorOp t t, Fullfilled "__cvimdecode" t a, HasCallStack) =>+               ArgsHMap "__cvimdecode" t a -> TensorApply t+__cvimdecode args+  = let scalarArgs+          = catMaybes+              [("flag",) . showValue <$> (args !? #flag :: Maybe Int),+               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]+        tensorKeyArgs = catMaybes [("buf",) <$> (args !? #buf :: Maybe t)]+      in+      apply "_cvimdecode" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__cvimread" t =+     '[ '("filename", AttrReq Text), '("flag", AttrOpt Int),+        '("to_rgb", AttrOpt Bool)]++__cvimread ::+           forall a t .+             (TensorOp t t, Fullfilled "__cvimread" t a, HasCallStack) =>+             ArgsHMap "__cvimread" t a -> TensorApply t+__cvimread args+  = let scalarArgs+          = catMaybes+              [("filename",) . showValue <$> (args !? #filename :: Maybe Text),+               ("flag",) . showValue <$> (args !? #flag :: Maybe Int),+               ("to_rgb",) . showValue <$> (args !? #to_rgb :: Maybe Bool)]+        tensorKeyArgs = catMaybes []+      in+      apply "_cvimread" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__cvimresize" t =+     '[ '("w", AttrReq Int), '("h", AttrReq Int),+        '("interp", AttrOpt Int), '("src", AttrOpt t)]++__cvimresize ::+             forall a t .+               (TensorOp t t, Fullfilled "__cvimresize" t a, HasCallStack) =>+               ArgsHMap "__cvimresize" t a -> TensorApply t+__cvimresize args+  = let scalarArgs+          = catMaybes+              [("w",) . showValue <$> (args !? #w :: Maybe Int),+               ("h",) . showValue <$> (args !? #h :: Maybe Int),+               ("interp",) . showValue <$> (args !? #interp :: Maybe Int)]+        tensorKeyArgs = catMaybes [("src",) <$> (args !? #src :: Maybe t)]+      in+      apply "_cvimresize" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__div_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__div_scalar ::+             forall a t .+               (TensorOp t t, Fullfilled "__div_scalar" t a, HasCallStack) =>+               ArgsHMap "__div_scalar" t a -> TensorApply t+__div_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_div_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__equal" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__equal ::+        forall a t .+          (TensorOp t t, Fullfilled "__equal" t a, HasCallStack) =>+          ArgsHMap "__equal" t a -> TensorApply t+__equal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in apply "_equal" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__equal_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__equal_scalar ::+               forall a t .+                 (TensorOp t t, Fullfilled "__equal_scalar" t a, HasCallStack) =>+                 ArgsHMap "__equal_scalar" t a -> TensorApply t+__equal_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_equal_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__full" t =+     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "int8",+                 "uint8"])),+        '("value", AttrReq Double)]++__full ::+       forall a t .+         (TensorOp t t, Fullfilled "__full" t a, HasCallStack) =>+         ArgsHMap "__full" t a -> TensorApply t+__full args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "int8",+                           "uint8"])),+               ("value",) . showValue <$> (args !? #value :: Maybe Double)]+        tensorKeyArgs = catMaybes []+      in apply "_full" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__grad_add" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__grad_add ::+           forall a t .+             (TensorOp t t, Fullfilled "__grad_add" t a, HasCallStack) =>+             ArgsHMap "__grad_add" t a -> TensorApply t+__grad_add args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_grad_add" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__greater" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__greater ::+          forall a t .+            (TensorOp t t, Fullfilled "__greater" t a, HasCallStack) =>+            ArgsHMap "__greater" t a -> TensorApply t+__greater args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_greater" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__greater_equal" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__greater_equal ::+                forall a t .+                  (TensorOp t t, Fullfilled "__greater_equal" t a, HasCallStack) =>+                  ArgsHMap "__greater_equal" t a -> TensorApply t+__greater_equal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_greater_equal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__greater_equal_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__greater_equal_scalar ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__greater_equal_scalar" t a,+                          HasCallStack) =>+                         ArgsHMap "__greater_equal_scalar" t a -> TensorApply t+__greater_equal_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_greater_equal_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__greater_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__greater_scalar ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__greater_scalar" t a, HasCallStack) =>+                   ArgsHMap "__greater_scalar" t a -> TensorApply t+__greater_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_greater_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__histogram" t =+     '[ '("bin_cnt", AttrOpt (Maybe Int)), '("range", AttrOpt Int),+        '("data", AttrOpt t), '("bins", AttrOpt t)]++__histogram ::+            forall a t .+              (TensorOp t t, Fullfilled "__histogram" t a, HasCallStack) =>+              ArgsHMap "__histogram" t a -> TensorApply t+__histogram args+  = let scalarArgs+          = catMaybes+              [("bin_cnt",) . showValue <$>+                 (args !? #bin_cnt :: Maybe (Maybe Int)),+               ("range",) . showValue <$> (args !? #range :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("bins",) <$> (args !? #bins :: Maybe t)]+      in+      apply "_histogram" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__hypot" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__hypot ::+        forall a t .+          (TensorOp t t, Fullfilled "__hypot" t a, HasCallStack) =>+          ArgsHMap "__hypot" t a -> TensorApply t+__hypot args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in apply "_hypot" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__hypot_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__hypot_scalar ::+               forall a t .+                 (TensorOp t t, Fullfilled "__hypot_scalar" t a, HasCallStack) =>+                 ArgsHMap "__hypot_scalar" t a -> TensorApply t+__hypot_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_hypot_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__identity_with_attr_like_rhs" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__identity_with_attr_like_rhs ::+                              forall a t .+                                (TensorOp t t, Fullfilled "__identity_with_attr_like_rhs" t a,+                                 HasCallStack) =>+                                ArgsHMap "__identity_with_attr_like_rhs" t a -> TensorApply t+__identity_with_attr_like_rhs args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_identity_with_attr_like_rhs" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_adjust_lighting" t =+     '[ '("alpha", AttrReq [Float]), '("data", AttrOpt t)]++__image_adjust_lighting ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__image_adjust_lighting" t a,+                           HasCallStack) =>+                          ArgsHMap "__image_adjust_lighting" t a -> TensorApply t+__image_adjust_lighting args+  = let scalarArgs+          = catMaybes+              [("alpha",) . showValue <$> (args !? #alpha :: Maybe [Float])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_adjust_lighting" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_crop" t =+     '[ '("x", AttrReq Int), '("y", AttrReq Int),+        '("width", AttrReq Int), '("height", AttrReq Int),+        '("data", AttrOpt t)]++__image_crop ::+             forall a t .+               (TensorOp t t, Fullfilled "__image_crop" t a, HasCallStack) =>+               ArgsHMap "__image_crop" t a -> TensorApply t+__image_crop args+  = let scalarArgs+          = catMaybes+              [("x",) . showValue <$> (args !? #x :: Maybe Int),+               ("y",) . showValue <$> (args !? #y :: Maybe Int),+               ("width",) . showValue <$> (args !? #width :: Maybe Int),+               ("height",) . showValue <$> (args !? #height :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_crop" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_flip_left_right" t =+     '[ '("data", AttrOpt t)]++__image_flip_left_right ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__image_flip_left_right" t a,+                           HasCallStack) =>+                          ArgsHMap "__image_flip_left_right" t a -> TensorApply t+__image_flip_left_right args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_flip_left_right" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_flip_top_bottom" t =+     '[ '("data", AttrOpt t)]++__image_flip_top_bottom ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__image_flip_top_bottom" t a,+                           HasCallStack) =>+                          ArgsHMap "__image_flip_top_bottom" t a -> TensorApply t+__image_flip_top_bottom args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_flip_top_bottom" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_normalize" t =+     '[ '("mean", AttrOpt [Float]), '("std", AttrOpt [Float]),+        '("data", AttrOpt t)]++__image_normalize ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__image_normalize" t a, HasCallStack) =>+                    ArgsHMap "__image_normalize" t a -> TensorApply t+__image_normalize args+  = let scalarArgs+          = catMaybes+              [("mean",) . showValue <$> (args !? #mean :: Maybe [Float]),+               ("std",) . showValue <$> (args !? #std :: Maybe [Float])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_normalize" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_random_brightness" t =+     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),+        '("data", AttrOpt t)]++__image_random_brightness ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__image_random_brightness" t a,+                             HasCallStack) =>+                            ArgsHMap "__image_random_brightness" t a -> TensorApply t+__image_random_brightness args+  = let scalarArgs+          = catMaybes+              [("min_factor",) . showValue <$>+                 (args !? #min_factor :: Maybe Float),+               ("max_factor",) . showValue <$>+                 (args !? #max_factor :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_random_brightness" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_random_color_jitter" t =+     '[ '("brightness", AttrReq Float), '("contrast", AttrReq Float),+        '("saturation", AttrReq Float), '("hue", AttrReq Float),+        '("data", AttrOpt t)]++__image_random_color_jitter ::+                            forall a t .+                              (TensorOp t t, Fullfilled "__image_random_color_jitter" t a,+                               HasCallStack) =>+                              ArgsHMap "__image_random_color_jitter" t a -> TensorApply t+__image_random_color_jitter args+  = let scalarArgs+          = catMaybes+              [("brightness",) . showValue <$>+                 (args !? #brightness :: Maybe Float),+               ("contrast",) . showValue <$> (args !? #contrast :: Maybe Float),+               ("saturation",) . showValue <$>+                 (args !? #saturation :: Maybe Float),+               ("hue",) . showValue <$> (args !? #hue :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_random_color_jitter" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_random_contrast" t =+     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),+        '("data", AttrOpt t)]++__image_random_contrast ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__image_random_contrast" t a,+                           HasCallStack) =>+                          ArgsHMap "__image_random_contrast" t a -> TensorApply t+__image_random_contrast args+  = let scalarArgs+          = catMaybes+              [("min_factor",) . showValue <$>+                 (args !? #min_factor :: Maybe Float),+               ("max_factor",) . showValue <$>+                 (args !? #max_factor :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_random_contrast" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_random_flip_left_right" t =+     '[ '("data", AttrOpt t)]++__image_random_flip_left_right ::+                               forall a t .+                                 (TensorOp t t, Fullfilled "__image_random_flip_left_right" t a,+                                  HasCallStack) =>+                                 ArgsHMap "__image_random_flip_left_right" t a -> TensorApply t+__image_random_flip_left_right args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_random_flip_left_right" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_random_flip_top_bottom" t =+     '[ '("data", AttrOpt t)]++__image_random_flip_top_bottom ::+                               forall a t .+                                 (TensorOp t t, Fullfilled "__image_random_flip_top_bottom" t a,+                                  HasCallStack) =>+                                 ArgsHMap "__image_random_flip_top_bottom" t a -> TensorApply t+__image_random_flip_top_bottom args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_random_flip_top_bottom" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_random_hue" t =+     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),+        '("data", AttrOpt t)]++__image_random_hue ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__image_random_hue" t a,+                      HasCallStack) =>+                     ArgsHMap "__image_random_hue" t a -> TensorApply t+__image_random_hue args+  = let scalarArgs+          = catMaybes+              [("min_factor",) . showValue <$>+                 (args !? #min_factor :: Maybe Float),+               ("max_factor",) . showValue <$>+                 (args !? #max_factor :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_random_hue" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_random_lighting" t =+     '[ '("alpha_std", AttrOpt Float), '("data", AttrOpt t)]++__image_random_lighting ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__image_random_lighting" t a,+                           HasCallStack) =>+                          ArgsHMap "__image_random_lighting" t a -> TensorApply t+__image_random_lighting args+  = let scalarArgs+          = catMaybes+              [("alpha_std",) . showValue <$>+                 (args !? #alpha_std :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_random_lighting" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_random_saturation" t =+     '[ '("min_factor", AttrReq Float), '("max_factor", AttrReq Float),+        '("data", AttrOpt t)]++__image_random_saturation ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__image_random_saturation" t a,+                             HasCallStack) =>+                            ArgsHMap "__image_random_saturation" t a -> TensorApply t+__image_random_saturation args+  = let scalarArgs+          = catMaybes+              [("min_factor",) . showValue <$>+                 (args !? #min_factor :: Maybe Float),+               ("max_factor",) . showValue <$>+                 (args !? #max_factor :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_random_saturation" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_resize" t =+     '[ '("size", AttrOpt [Int]), '("keep_ratio", AttrOpt Bool),+        '("interp", AttrOpt Int), '("data", AttrOpt t)]++__image_resize ::+               forall a t .+                 (TensorOp t t, Fullfilled "__image_resize" t a, HasCallStack) =>+                 ArgsHMap "__image_resize" t a -> TensorApply t+__image_resize args+  = let scalarArgs+          = catMaybes+              [("size",) . showValue <$> (args !? #size :: Maybe [Int]),+               ("keep_ratio",) . showValue <$>+                 (args !? #keep_ratio :: Maybe Bool),+               ("interp",) . showValue <$> (args !? #interp :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_resize" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__image_to_tensor" t =+     '[ '("data", AttrOpt t)]++__image_to_tensor ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__image_to_tensor" t a, HasCallStack) =>+                    ArgsHMap "__image_to_tensor" t a -> TensorApply t+__image_to_tensor args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_image_to_tensor" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__imdecode" t =+     '[ '("index", AttrOpt Int), '("x0", AttrOpt Int),+        '("y0", AttrOpt Int), '("x1", AttrOpt Int), '("y1", AttrOpt Int),+        '("c", AttrOpt Int), '("size", AttrOpt Int), '("mean", AttrOpt t)]++__imdecode ::+           forall a t .+             (TensorOp t t, Fullfilled "__imdecode" t a, HasCallStack) =>+             ArgsHMap "__imdecode" t a -> TensorApply t+__imdecode args+  = let scalarArgs+          = catMaybes+              [("index",) . showValue <$> (args !? #index :: Maybe Int),+               ("x0",) . showValue <$> (args !? #x0 :: Maybe Int),+               ("y0",) . showValue <$> (args !? #y0 :: Maybe Int),+               ("x1",) . showValue <$> (args !? #x1 :: Maybe Int),+               ("y1",) . showValue <$> (args !? #y1 :: Maybe Int),+               ("c",) . showValue <$> (args !? #c :: Maybe Int),+               ("size",) . showValue <$> (args !? #size :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("mean",) <$> (args !? #mean :: Maybe t)]+      in+      apply "_imdecode" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__lesser" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__lesser ::+         forall a t .+           (TensorOp t t, Fullfilled "__lesser" t a, HasCallStack) =>+           ArgsHMap "__lesser" t a -> TensorApply t+__lesser args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in apply "_lesser" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__lesser_equal" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__lesser_equal ::+               forall a t .+                 (TensorOp t t, Fullfilled "__lesser_equal" t a, HasCallStack) =>+                 ArgsHMap "__lesser_equal" t a -> TensorApply t+__lesser_equal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_lesser_equal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__lesser_equal_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__lesser_equal_scalar ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__lesser_equal_scalar" t a,+                         HasCallStack) =>+                        ArgsHMap "__lesser_equal_scalar" t a -> TensorApply t+__lesser_equal_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_lesser_equal_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__lesser_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__lesser_scalar ::+                forall a t .+                  (TensorOp t t, Fullfilled "__lesser_scalar" t a, HasCallStack) =>+                  ArgsHMap "__lesser_scalar" t a -> TensorApply t+__lesser_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_lesser_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_det" t =+     '[ '("a", AttrOpt t)]++__linalg_det ::+             forall a t .+               (TensorOp t t, Fullfilled "__linalg_det" t a, HasCallStack) =>+               ArgsHMap "__linalg_det" t a -> TensorApply t+__linalg_det args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_linalg_det" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_extractdiag" t =+     '[ '("offset", AttrOpt Int), '("a", AttrOpt t)]++__linalg_extractdiag ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__linalg_extractdiag" t a,+                        HasCallStack) =>+                       ArgsHMap "__linalg_extractdiag" t a -> TensorApply t+__linalg_extractdiag args+  = let scalarArgs+          = catMaybes+              [("offset",) . showValue <$> (args !? #offset :: Maybe Int)]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_linalg_extractdiag" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_extracttrian" t =+     '[ '("offset", AttrOpt Int), '("lower", AttrOpt Bool),+        '("a", AttrOpt t)]++__linalg_extracttrian ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__linalg_extracttrian" t a,+                         HasCallStack) =>+                        ArgsHMap "__linalg_extracttrian" t a -> TensorApply t+__linalg_extracttrian args+  = let scalarArgs+          = catMaybes+              [("offset",) . showValue <$> (args !? #offset :: Maybe Int),+               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool)]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_linalg_extracttrian" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_gelqf" t =+     '[ '("a", AttrOpt t)]++__linalg_gelqf ::+               forall a t .+                 (TensorOp t t, Fullfilled "__linalg_gelqf" t a, HasCallStack) =>+                 ArgsHMap "__linalg_gelqf" t a -> TensorApply t+__linalg_gelqf args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_linalg_gelqf" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_gemm" t =+     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),+        '("alpha", AttrOpt Double), '("beta", AttrOpt Double),+        '("axis", AttrOpt Int), '("a", AttrOpt t), '("b", AttrOpt t),+        '("c", AttrOpt t)]++__linalg_gemm ::+              forall a t .+                (TensorOp t t, Fullfilled "__linalg_gemm" t a, HasCallStack) =>+                ArgsHMap "__linalg_gemm" t a -> TensorApply t+__linalg_gemm args+  = let scalarArgs+          = catMaybes+              [("transpose_a",) . showValue <$>+                 (args !? #transpose_a :: Maybe Bool),+               ("transpose_b",) . showValue <$>+                 (args !? #transpose_b :: Maybe Bool),+               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),+               ("beta",) . showValue <$> (args !? #beta :: Maybe Double),+               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("a",) <$> (args !? #a :: Maybe t),+               ("b",) <$> (args !? #b :: Maybe t),+               ("c",) <$> (args !? #c :: Maybe t)]+      in+      apply "_linalg_gemm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_gemm2" t =+     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),+        '("alpha", AttrOpt Double), '("axis", AttrOpt Int),+        '("a", AttrOpt t), '("b", AttrOpt t)]++__linalg_gemm2 ::+               forall a t .+                 (TensorOp t t, Fullfilled "__linalg_gemm2" t a, HasCallStack) =>+                 ArgsHMap "__linalg_gemm2" t a -> TensorApply t+__linalg_gemm2 args+  = let scalarArgs+          = catMaybes+              [("transpose_a",) . showValue <$>+                 (args !? #transpose_a :: Maybe Bool),+               ("transpose_b",) . showValue <$>+                 (args !? #transpose_b :: Maybe Bool),+               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double),+               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("a",) <$> (args !? #a :: Maybe t),+               ("b",) <$> (args !? #b :: Maybe t)]+      in+      apply "_linalg_gemm2" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_inverse" t =+     '[ '("a", AttrOpt t)]++__linalg_inverse ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__linalg_inverse" t a, HasCallStack) =>+                   ArgsHMap "__linalg_inverse" t a -> TensorApply t+__linalg_inverse args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_linalg_inverse" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_makediag" t =+     '[ '("offset", AttrOpt Int), '("a", AttrOpt t)]++__linalg_makediag ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__linalg_makediag" t a, HasCallStack) =>+                    ArgsHMap "__linalg_makediag" t a -> TensorApply t+__linalg_makediag args+  = let scalarArgs+          = catMaybes+              [("offset",) . showValue <$> (args !? #offset :: Maybe Int)]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_linalg_makediag" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_maketrian" t =+     '[ '("offset", AttrOpt Int), '("lower", AttrOpt Bool),+        '("a", AttrOpt t)]++__linalg_maketrian ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__linalg_maketrian" t a,+                      HasCallStack) =>+                     ArgsHMap "__linalg_maketrian" t a -> TensorApply t+__linalg_maketrian args+  = let scalarArgs+          = catMaybes+              [("offset",) . showValue <$> (args !? #offset :: Maybe Int),+               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool)]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_linalg_maketrian" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_potrf" t =+     '[ '("a", AttrOpt t)]++__linalg_potrf ::+               forall a t .+                 (TensorOp t t, Fullfilled "__linalg_potrf" t a, HasCallStack) =>+                 ArgsHMap "__linalg_potrf" t a -> TensorApply t+__linalg_potrf args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_linalg_potrf" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_potri" t =+     '[ '("a", AttrOpt t)]++__linalg_potri ::+               forall a t .+                 (TensorOp t t, Fullfilled "__linalg_potri" t a, HasCallStack) =>+                 ArgsHMap "__linalg_potri" t a -> TensorApply t+__linalg_potri args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_linalg_potri" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_slogdet" t =+     '[ '("a", AttrOpt t)]++__linalg_slogdet ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__linalg_slogdet" t a, HasCallStack) =>+                   ArgsHMap "__linalg_slogdet" t a -> TensorApply t+__linalg_slogdet args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_linalg_slogdet" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_sumlogdiag" t =+     '[ '("a", AttrOpt t)]++__linalg_sumlogdiag ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__linalg_sumlogdiag" t a,+                       HasCallStack) =>+                      ArgsHMap "__linalg_sumlogdiag" t a -> TensorApply t+__linalg_sumlogdiag args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_linalg_sumlogdiag" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_syevd" t =+     '[ '("a", AttrOpt t)]++__linalg_syevd ::+               forall a t .+                 (TensorOp t t, Fullfilled "__linalg_syevd" t a, HasCallStack) =>+                 ArgsHMap "__linalg_syevd" t a -> TensorApply t+__linalg_syevd args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_linalg_syevd" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_syrk" t =+     '[ '("transpose", AttrOpt Bool), '("alpha", AttrOpt Double),+        '("a", AttrOpt t)]++__linalg_syrk ::+              forall a t .+                (TensorOp t t, Fullfilled "__linalg_syrk" t a, HasCallStack) =>+                ArgsHMap "__linalg_syrk" t a -> TensorApply t+__linalg_syrk args+  = let scalarArgs+          = catMaybes+              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),+               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_linalg_syrk" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_trmm" t =+     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),+        '("lower", AttrOpt Bool), '("alpha", AttrOpt Double),+        '("a", AttrOpt t), '("b", AttrOpt t)]++__linalg_trmm ::+              forall a t .+                (TensorOp t t, Fullfilled "__linalg_trmm" t a, HasCallStack) =>+                ArgsHMap "__linalg_trmm" t a -> TensorApply t+__linalg_trmm args+  = let scalarArgs+          = catMaybes+              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),+               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),+               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),+               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]+        tensorKeyArgs+          = catMaybes+              [("a",) <$> (args !? #a :: Maybe t),+               ("b",) <$> (args !? #b :: Maybe t)]+      in+      apply "_linalg_trmm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linalg_trsm" t =+     '[ '("transpose", AttrOpt Bool), '("rightside", AttrOpt Bool),+        '("lower", AttrOpt Bool), '("alpha", AttrOpt Double),+        '("a", AttrOpt t), '("b", AttrOpt t)]++__linalg_trsm ::+              forall a t .+                (TensorOp t t, Fullfilled "__linalg_trsm" t a, HasCallStack) =>+                ArgsHMap "__linalg_trsm" t a -> TensorApply t+__linalg_trsm args+  = let scalarArgs+          = catMaybes+              [("transpose",) . showValue <$> (args !? #transpose :: Maybe Bool),+               ("rightside",) . showValue <$> (args !? #rightside :: Maybe Bool),+               ("lower",) . showValue <$> (args !? #lower :: Maybe Bool),+               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Double)]+        tensorKeyArgs+          = catMaybes+              [("a",) <$> (args !? #a :: Maybe t),+               ("b",) <$> (args !? #b :: Maybe t)]+      in+      apply "_linalg_trsm" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__linspace" t =+     '[ '("start", AttrReq Double), '("stop", AttrOpt (Maybe Double)),+        '("step", AttrOpt Double), '("repeat", AttrOpt Int),+        '("infer_range", AttrOpt Bool), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "int8",+                 "uint8"]))]++__linspace ::+           forall a t .+             (TensorOp t t, Fullfilled "__linspace" t a, HasCallStack) =>+             ArgsHMap "__linspace" t a -> TensorApply t+__linspace args+  = let scalarArgs+          = catMaybes+              [("start",) . showValue <$> (args !? #start :: Maybe Double),+               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),+               ("step",) . showValue <$> (args !? #step :: Maybe Double),+               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),+               ("infer_range",) . showValue <$>+                 (args !? #infer_range :: Maybe Bool),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "int8",+                           "uint8"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_linspace" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__logical_and" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__logical_and ::+              forall a t .+                (TensorOp t t, Fullfilled "__logical_and" t a, HasCallStack) =>+                ArgsHMap "__logical_and" t a -> TensorApply t+__logical_and args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_logical_and" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__logical_and_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__logical_and_scalar ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__logical_and_scalar" t a,+                        HasCallStack) =>+                       ArgsHMap "__logical_and_scalar" t a -> TensorApply t+__logical_and_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_logical_and_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__logical_or" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__logical_or ::+             forall a t .+               (TensorOp t t, Fullfilled "__logical_or" t a, HasCallStack) =>+               ArgsHMap "__logical_or" t a -> TensorApply t+__logical_or args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_logical_or" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__logical_or_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__logical_or_scalar ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__logical_or_scalar" t a,+                       HasCallStack) =>+                      ArgsHMap "__logical_or_scalar" t a -> TensorApply t+__logical_or_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_logical_or_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__logical_xor" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__logical_xor ::+              forall a t .+                (TensorOp t t, Fullfilled "__logical_xor" t a, HasCallStack) =>+                ArgsHMap "__logical_xor" t a -> TensorApply t+__logical_xor args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_logical_xor" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__logical_xor_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__logical_xor_scalar ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__logical_xor_scalar" t a,+                        HasCallStack) =>+                       ArgsHMap "__logical_xor_scalar" t a -> TensorApply t+__logical_xor_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_logical_xor_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__maximum" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__maximum ::+          forall a t .+            (TensorOp t t, Fullfilled "__maximum" t a, HasCallStack) =>+            ArgsHMap "__maximum" t a -> TensorApply t+__maximum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_maximum" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__maximum_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__maximum_scalar ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__maximum_scalar" t a, HasCallStack) =>+                   ArgsHMap "__maximum_scalar" t a -> TensorApply t+__maximum_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_maximum_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__minimum" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__minimum ::+          forall a t .+            (TensorOp t t, Fullfilled "__minimum" t a, HasCallStack) =>+            ArgsHMap "__minimum" t a -> TensorApply t+__minimum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_minimum" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__minimum_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__minimum_scalar ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__minimum_scalar" t a, HasCallStack) =>+                   ArgsHMap "__minimum_scalar" t a -> TensorApply t+__minimum_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_minimum_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__minus_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__minus_scalar ::+               forall a t .+                 (TensorOp t t, Fullfilled "__minus_scalar" t a, HasCallStack) =>+                 ArgsHMap "__minus_scalar" t a -> TensorApply t+__minus_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_minus_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__mod" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__mod ::+      forall a t .+        (TensorOp t t, Fullfilled "__mod" t a, HasCallStack) =>+        ArgsHMap "__mod" t a -> TensorApply t+__mod args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in apply "_mod" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__mod_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__mod_scalar ::+             forall a t .+               (TensorOp t t, Fullfilled "__mod_scalar" t a, HasCallStack) =>+               ArgsHMap "__mod_scalar" t a -> TensorApply t+__mod_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_mod_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__mp_adamw_update" t =+     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),+        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),+        '("wd", AttrOpt Float), '("eta", AttrReq Float),+        '("clip_gradient", AttrOpt Float), '("weight", AttrOpt t),+        '("grad", AttrOpt t), '("mean", AttrOpt t), '("var", AttrOpt t),+        '("weight32", AttrOpt t), '("rescale_grad", AttrOpt t)]++__mp_adamw_update ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__mp_adamw_update" t a, HasCallStack) =>+                    ArgsHMap "__mp_adamw_update" t a -> TensorApply t+__mp_adamw_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),+               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),+               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("eta",) . showValue <$> (args !? #eta :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("mean",) <$> (args !? #mean :: Maybe t),+               ("var",) <$> (args !? #var :: Maybe t),+               ("weight32",) <$> (args !? #weight32 :: Maybe t),+               ("rescale_grad",) <$> (args !? #rescale_grad :: Maybe t)]+      in+      apply "_mp_adamw_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__mul_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__mul_scalar ::+             forall a t .+               (TensorOp t t, Fullfilled "__mul_scalar" t a, HasCallStack) =>+               ArgsHMap "__mul_scalar" t a -> TensorApply t+__mul_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_mul_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__multi_adamw_update" t =+     '[ '("lrs", AttrReq [Float]), '("beta1", AttrOpt Float),+        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),+        '("wds", AttrReq [Float]), '("etas", AttrReq [Float]),+        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),+        '("data", AttrOpt [t])]++__multi_adamw_update ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__multi_adamw_update" t a,+                        HasCallStack) =>+                       ArgsHMap "__multi_adamw_update" t a -> TensorApply t+__multi_adamw_update args+  = let scalarArgs+          = catMaybes+              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),+               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),+               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),+               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),+               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),+               ("etas",) . showValue <$> (args !? #etas :: Maybe [Float]),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("num_weights",) . showValue <$>+                 (args !? #num_weights :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "_multi_adamw_update" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__multi_mp_adamw_update" t =+     '[ '("lrs", AttrReq [Float]), '("beta1", AttrOpt Float),+        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),+        '("wds", AttrReq [Float]), '("etas", AttrReq [Float]),+        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),+        '("data", AttrOpt [t])]++__multi_mp_adamw_update ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__multi_mp_adamw_update" t a,+                           HasCallStack) =>+                          ArgsHMap "__multi_mp_adamw_update" t a -> TensorApply t+__multi_mp_adamw_update args+  = let scalarArgs+          = catMaybes+              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),+               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),+               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),+               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),+               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),+               ("etas",) . showValue <$> (args !? #etas :: Maybe [Float]),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("num_weights",) . showValue <$>+                 (args !? #num_weights :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "_multi_mp_adamw_update" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__not_equal" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__not_equal ::+            forall a t .+              (TensorOp t t, Fullfilled "__not_equal" t a, HasCallStack) =>+              ArgsHMap "__not_equal" t a -> TensorApply t+__not_equal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_not_equal" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__not_equal_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__not_equal_scalar ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__not_equal_scalar" t a,+                      HasCallStack) =>+                     ArgsHMap "__not_equal_scalar" t a -> TensorApply t+__not_equal_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_not_equal_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_broadcast_to" t =+     '[ '("shape", AttrOpt [Int]), '("array", AttrOpt t)]++__np_broadcast_to ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__np_broadcast_to" t a, HasCallStack) =>+                    ArgsHMap "__np_broadcast_to" t a -> TensorApply t+__np_broadcast_to args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("array",) <$> (args !? #array :: Maybe t)]+      in+      apply "_np_broadcast_to" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_copy" t = '[ '("a", AttrOpt t)]++__np_copy ::+          forall a t .+            (TensorOp t t, Fullfilled "__np_copy" t a, HasCallStack) =>+            ArgsHMap "__np_copy" t a -> TensorApply t+__np_copy args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_np_copy" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_cumsum" t =+     '[ '("axis", AttrOpt (Maybe Int)),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["float16", "float32", "float64", "int32", "int64", "int8"]))),+        '("a", AttrOpt t)]++__np_cumsum ::+            forall a t .+              (TensorOp t t, Fullfilled "__np_cumsum" t a, HasCallStack) =>+              ArgsHMap "__np_cumsum" t a -> TensorApply t+__np_cumsum args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["float16", "float32", "float64", "int32", "int64", "int8"])))]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_np_cumsum" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_dot" t =+     '[ '("a", AttrOpt t), '("b", AttrOpt t)]++__np_dot ::+         forall a t .+           (TensorOp t t, Fullfilled "__np_dot" t a, HasCallStack) =>+           ArgsHMap "__np_dot" t a -> TensorApply t+__np_dot args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("a",) <$> (args !? #a :: Maybe t),+               ("b",) <$> (args !? #b :: Maybe t)]+      in apply "_np_dot" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_max" t =+     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),+        '("initial", AttrOpt (Maybe Double)), '("a", AttrOpt t)]++__np_max ::+         forall a t .+           (TensorOp t t, Fullfilled "__np_max" t a, HasCallStack) =>+           ArgsHMap "__np_max" t a -> TensorApply t+__np_max args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("initial",) . showValue <$>+                 (args !? #initial :: Maybe (Maybe Double))]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in apply "_np_max" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_min" t =+     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),+        '("initial", AttrOpt (Maybe Double)), '("a", AttrOpt t)]++__np_min ::+         forall a t .+           (TensorOp t t, Fullfilled "__np_min" t a, HasCallStack) =>+           ArgsHMap "__np_min" t a -> TensorApply t+__np_min args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("initial",) . showValue <$>+                 (args !? #initial :: Maybe (Maybe Double))]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in apply "_np_min" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_moveaxis" t =+     '[ '("source", AttrReq [Int]), '("destination", AttrReq [Int]),+        '("a", AttrOpt t)]++__np_moveaxis ::+              forall a t .+                (TensorOp t t, Fullfilled "__np_moveaxis" t a, HasCallStack) =>+                ArgsHMap "__np_moveaxis" t a -> TensorApply t+__np_moveaxis args+  = let scalarArgs+          = catMaybes+              [("source",) . showValue <$> (args !? #source :: Maybe [Int]),+               ("destination",) . showValue <$>+                 (args !? #destination :: Maybe [Int])]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_np_moveaxis" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_ones_like" t =+     '[ '("a", AttrOpt t)]++__np_ones_like ::+               forall a t .+                 (TensorOp t t, Fullfilled "__np_ones_like" t a, HasCallStack) =>+                 ArgsHMap "__np_ones_like" t a -> TensorApply t+__np_ones_like args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_np_ones_like" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_prod" t =+     '[ '("axis", AttrOpt (Maybe [Int])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["bool", "float16", "float32", "float64", "int32", "int64",+                    "int8"]))),+        '("keepdims", AttrOpt Bool), '("initial", AttrOpt (Maybe Double)),+        '("a", AttrOpt t)]++__np_prod ::+          forall a t .+            (TensorOp t t, Fullfilled "__np_prod" t a, HasCallStack) =>+            ArgsHMap "__np_prod" t a -> TensorApply t+__np_prod args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["bool", "float16", "float32", "float64", "int32", "int64",+                              "int8"]))),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("initial",) . showValue <$>+                 (args !? #initial :: Maybe (Maybe Double))]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_np_prod" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_reshape" t =+     '[ '("newshape", AttrReq [Int]), '("order", AttrOpt Text),+        '("a", AttrOpt t)]++__np_reshape ::+             forall a t .+               (TensorOp t t, Fullfilled "__np_reshape" t a, HasCallStack) =>+               ArgsHMap "__np_reshape" t a -> TensorApply t+__np_reshape args+  = let scalarArgs+          = catMaybes+              [("newshape",) . showValue <$> (args !? #newshape :: Maybe [Int]),+               ("order",) . showValue <$> (args !? #order :: Maybe Text)]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_np_reshape" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_roll" t =+     '[ '("shift", AttrOpt (Maybe [Int])),+        '("axis", AttrOpt (Maybe [Int])), '("data", AttrOpt t)]++__np_roll ::+          forall a t .+            (TensorOp t t, Fullfilled "__np_roll" t a, HasCallStack) =>+            ArgsHMap "__np_roll" t a -> TensorApply t+__np_roll args+  = let scalarArgs+          = catMaybes+              [("shift",) . showValue <$>+                 (args !? #shift :: Maybe (Maybe [Int])),+               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_np_roll" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_squeeze" t =+     '[ '("axis", AttrOpt (Maybe [Int])), '("a", AttrOpt t)]++__np_squeeze ::+             forall a t .+               (TensorOp t t, Fullfilled "__np_squeeze" t a, HasCallStack) =>+               ArgsHMap "__np_squeeze" t a -> TensorApply t+__np_squeeze args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int]))]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_np_squeeze" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_sum" t =+     '[ '("axis", AttrOpt (Maybe [Int])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["bool", "float16", "float32", "float64", "int32", "int64",+                    "int8"]))),+        '("keepdims", AttrOpt Bool), '("initial", AttrOpt (Maybe Double)),+        '("a", AttrOpt t)]++__np_sum ::+         forall a t .+           (TensorOp t t, Fullfilled "__np_sum" t a, HasCallStack) =>+           ArgsHMap "__np_sum" t a -> TensorApply t+__np_sum args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["bool", "float16", "float32", "float64", "int32", "int64",+                              "int8"]))),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("initial",) . showValue <$>+                 (args !? #initial :: Maybe (Maybe Double))]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in apply "_np_sum" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_trace" t =+     '[ '("offset", AttrOpt Int), '("axis1", AttrOpt Int),+        '("axis2", AttrOpt Int), '("data", AttrOpt t)]++__np_trace ::+           forall a t .+             (TensorOp t t, Fullfilled "__np_trace" t a, HasCallStack) =>+             ArgsHMap "__np_trace" t a -> TensorApply t+__np_trace args+  = let scalarArgs+          = catMaybes+              [("offset",) . showValue <$> (args !? #offset :: Maybe Int),+               ("axis1",) . showValue <$> (args !? #axis1 :: Maybe Int),+               ("axis2",) . showValue <$> (args !? #axis2 :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_np_trace" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_transpose" t =+     '[ '("axes", AttrOpt [Int]), '("a", AttrOpt t)]++__np_transpose ::+               forall a t .+                 (TensorOp t t, Fullfilled "__np_transpose" t a, HasCallStack) =>+                 ArgsHMap "__np_transpose" t a -> TensorApply t+__np_transpose args+  = let scalarArgs+          = catMaybes+              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_np_transpose" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__np_zeros_like" t =+     '[ '("a", AttrOpt t)]++__np_zeros_like ::+                forall a t .+                  (TensorOp t t, Fullfilled "__np_zeros_like" t a, HasCallStack) =>+                  ArgsHMap "__np_zeros_like" t a -> TensorApply t+__np_zeros_like args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_np_zeros_like" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_absolute" t =+     '[ '("x", AttrOpt t)]++__npi_absolute ::+               forall a t .+                 (TensorOp t t, Fullfilled "__npi_absolute" t a, HasCallStack) =>+                 ArgsHMap "__npi_absolute" t a -> TensorApply t+__npi_absolute args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_absolute" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_add" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_add ::+          forall a t .+            (TensorOp t t, Fullfilled "__npi_add" t a, HasCallStack) =>+            ArgsHMap "__npi_add" t a -> TensorApply t+__npi_add args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_add" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_add_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_add_scalar ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__npi_add_scalar" t a, HasCallStack) =>+                   ArgsHMap "__npi_add_scalar" t a -> TensorApply t+__npi_add_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_add_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_arange" t =+     '[ '("start", AttrReq Double), '("stop", AttrOpt (Maybe Double)),+        '("step", AttrOpt Double), '("repeat", AttrOpt Int),+        '("infer_range", AttrOpt Bool), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "int8",+                 "uint8"]))]++__npi_arange ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_arange" t a, HasCallStack) =>+               ArgsHMap "__npi_arange" t a -> TensorApply t+__npi_arange args+  = let scalarArgs+          = catMaybes+              [("start",) . showValue <$> (args !? #start :: Maybe Double),+               ("stop",) . showValue <$> (args !? #stop :: Maybe (Maybe Double)),+               ("step",) . showValue <$> (args !? #step :: Maybe Double),+               ("repeat",) . showValue <$> (args !? #repeat :: Maybe Int),+               ("infer_range",) . showValue <$>+                 (args !? #infer_range :: Maybe Bool),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "int8",+                           "uint8"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_npi_arange" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_arccos" t =+     '[ '("x", AttrOpt t)]++__npi_arccos ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_arccos" t a, HasCallStack) =>+               ArgsHMap "__npi_arccos" t a -> TensorApply t+__npi_arccos args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_arccos" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_arccosh" t =+     '[ '("x", AttrOpt t)]++__npi_arccosh ::+              forall a t .+                (TensorOp t t, Fullfilled "__npi_arccosh" t a, HasCallStack) =>+                ArgsHMap "__npi_arccosh" t a -> TensorApply t+__npi_arccosh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_arccosh" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_arcsin" t =+     '[ '("x", AttrOpt t)]++__npi_arcsin ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_arcsin" t a, HasCallStack) =>+               ArgsHMap "__npi_arcsin" t a -> TensorApply t+__npi_arcsin args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_arcsin" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_arcsinh" t =+     '[ '("x", AttrOpt t)]++__npi_arcsinh ::+              forall a t .+                (TensorOp t t, Fullfilled "__npi_arcsinh" t a, HasCallStack) =>+                ArgsHMap "__npi_arcsinh" t a -> TensorApply t+__npi_arcsinh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_arcsinh" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_arctan" t =+     '[ '("x", AttrOpt t)]++__npi_arctan ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_arctan" t a, HasCallStack) =>+               ArgsHMap "__npi_arctan" t a -> TensorApply t+__npi_arctan args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_arctan" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_arctan2" t =+     '[ '("x1", AttrOpt t), '("x2", AttrOpt t)]++__npi_arctan2 ::+              forall a t .+                (TensorOp t t, Fullfilled "__npi_arctan2" t a, HasCallStack) =>+                ArgsHMap "__npi_arctan2" t a -> TensorApply t+__npi_arctan2 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("x1",) <$> (args !? #x1 :: Maybe t),+               ("x2",) <$> (args !? #x2 :: Maybe t)]+      in+      apply "_npi_arctan2" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_arctan2_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_arctan2_scalar ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__npi_arctan2_scalar" t a,+                        HasCallStack) =>+                       ArgsHMap "__npi_arctan2_scalar" t a -> TensorApply t+__npi_arctan2_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_arctan2_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_arctanh" t =+     '[ '("x", AttrOpt t)]++__npi_arctanh ::+              forall a t .+                (TensorOp t t, Fullfilled "__npi_arctanh" t a, HasCallStack) =>+                ArgsHMap "__npi_arctanh" t a -> TensorApply t+__npi_arctanh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_arctanh" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_argmax" t =+     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),+        '("data", AttrOpt t)]++__npi_argmax ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_argmax" t a, HasCallStack) =>+               ArgsHMap "__npi_argmax" t a -> TensorApply t+__npi_argmax args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_argmax" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_argmin" t =+     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),+        '("data", AttrOpt t)]++__npi_argmin ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_argmin" t a, HasCallStack) =>+               ArgsHMap "__npi_argmin" t a -> TensorApply t+__npi_argmin args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_argmin" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_around" t =+     '[ '("decimals", AttrOpt Int), '("x", AttrOpt t)]++__npi_around ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_around" t a, HasCallStack) =>+               ArgsHMap "__npi_around" t a -> TensorApply t+__npi_around args+  = let scalarArgs+          = catMaybes+              [("decimals",) . showValue <$> (args !? #decimals :: Maybe Int)]+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_around" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_bitwise_xor" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_bitwise_xor ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__npi_bitwise_xor" t a, HasCallStack) =>+                    ArgsHMap "__npi_bitwise_xor" t a -> TensorApply t+__npi_bitwise_xor args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_bitwise_xor" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_bitwise_xor_scalar" t =+     '[ '("scalar", AttrOpt Int), '("data", AttrOpt t)]++__npi_bitwise_xor_scalar ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__npi_bitwise_xor_scalar" t a,+                            HasCallStack) =>+                           ArgsHMap "__npi_bitwise_xor_scalar" t a -> TensorApply t+__npi_bitwise_xor_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_bitwise_xor_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_blackman" t =+     '[ '("m", AttrOpt Int), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "int8",+                 "uint8"]))]++__npi_blackman ::+               forall a t .+                 (TensorOp t t, Fullfilled "__npi_blackman" t a, HasCallStack) =>+                 ArgsHMap "__npi_blackman" t a -> TensorApply t+__npi_blackman args+  = let scalarArgs+          = catMaybes+              [("m",) . showValue <$> (args !? #m :: Maybe Int),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "int8",+                           "uint8"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_npi_blackman" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_boolean_mask_assign_scalar" t =+     '[ '("value", AttrOpt Float), '("data", AttrOpt t),+        '("mask", AttrOpt t)]++__npi_boolean_mask_assign_scalar ::+                                 forall a t .+                                   (TensorOp t t, Fullfilled "__npi_boolean_mask_assign_scalar" t a,+                                    HasCallStack) =>+                                   ArgsHMap "__npi_boolean_mask_assign_scalar" t a -> TensorApply t+__npi_boolean_mask_assign_scalar args+  = let scalarArgs+          = catMaybes+              [("value",) . showValue <$> (args !? #value :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("mask",) <$> (args !? #mask :: Maybe t)]+      in+      apply "_npi_boolean_mask_assign_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_boolean_mask_assign_tensor" t =+     '[ '("data", AttrOpt t), '("mask", AttrOpt t),+        '("value", AttrOpt t)]++__npi_boolean_mask_assign_tensor ::+                                 forall a t .+                                   (TensorOp t t, Fullfilled "__npi_boolean_mask_assign_tensor" t a,+                                    HasCallStack) =>+                                   ArgsHMap "__npi_boolean_mask_assign_tensor" t a -> TensorApply t+__npi_boolean_mask_assign_tensor args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("mask",) <$> (args !? #mask :: Maybe t),+               ("value",) <$> (args !? #value :: Maybe t)]+      in+      apply "_npi_boolean_mask_assign_tensor" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_cbrt" t = '[ '("x", AttrOpt t)]++__npi_cbrt ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_cbrt" t a, HasCallStack) =>+             ArgsHMap "__npi_cbrt" t a -> TensorApply t+__npi_cbrt args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_cbrt" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_ceil" t = '[ '("x", AttrOpt t)]++__npi_ceil ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_ceil" t a, HasCallStack) =>+             ArgsHMap "__npi_ceil" t a -> TensorApply t+__npi_ceil args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_ceil" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_choice" t =+     '[ '("a", AttrReq Int), '("size", AttrReq Int),+        '("ctx", AttrOpt Text), '("replace", AttrOpt Bool),+        '("weighted", AttrOpt Bool), '("input1", AttrOpt t),+        '("input2", AttrOpt t)]++__npi_choice ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_choice" t a, HasCallStack) =>+               ArgsHMap "__npi_choice" t a -> TensorApply t+__npi_choice args+  = let scalarArgs+          = catMaybes+              [("a",) . showValue <$> (args !? #a :: Maybe Int),+               ("size",) . showValue <$> (args !? #size :: Maybe Int),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("replace",) . showValue <$> (args !? #replace :: Maybe Bool),+               ("weighted",) . showValue <$> (args !? #weighted :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("input1",) <$> (args !? #input1 :: Maybe t),+               ("input2",) <$> (args !? #input2 :: Maybe t)]+      in+      apply "_npi_choice" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_column_stack" t =+     '[ '("num_args", AttrReq Int), '("data", AttrOpt [t])]++__npi_column_stack ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__npi_column_stack" t a,+                      HasCallStack) =>+                     ArgsHMap "__npi_column_stack" t a -> TensorApply t+__npi_column_stack args+  = let scalarArgs+          = catMaybes+              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "_npi_column_stack" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__npi_concatenate" t =+     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),+        '("data", AttrOpt [t])]++__npi_concatenate ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__npi_concatenate" t a, HasCallStack) =>+                    ArgsHMap "__npi_concatenate" t a -> TensorApply t+__npi_concatenate args+  = let scalarArgs+          = catMaybes+              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),+               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "_npi_concatenate" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__npi_copysign" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_copysign ::+               forall a t .+                 (TensorOp t t, Fullfilled "__npi_copysign" t a, HasCallStack) =>+                 ArgsHMap "__npi_copysign" t a -> TensorApply t+__npi_copysign args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_copysign" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_copysign_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_copysign_scalar ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__npi_copysign_scalar" t a,+                         HasCallStack) =>+                        ArgsHMap "__npi_copysign_scalar" t a -> TensorApply t+__npi_copysign_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_copysign_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_cos" t = '[ '("x", AttrOpt t)]++__npi_cos ::+          forall a t .+            (TensorOp t t, Fullfilled "__npi_cos" t a, HasCallStack) =>+            ArgsHMap "__npi_cos" t a -> TensorApply t+__npi_cos args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_cos" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_cosh" t = '[ '("x", AttrOpt t)]++__npi_cosh ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_cosh" t a, HasCallStack) =>+             ArgsHMap "__npi_cosh" t a -> TensorApply t+__npi_cosh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_cosh" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_degrees" t =+     '[ '("x", AttrOpt t)]++__npi_degrees ::+              forall a t .+                (TensorOp t t, Fullfilled "__npi_degrees" t a, HasCallStack) =>+                ArgsHMap "__npi_degrees" t a -> TensorApply t+__npi_degrees args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_degrees" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_diff" t =+     '[ '("n", AttrOpt Int), '("axis", AttrOpt Int), '("a", AttrOpt t)]++__npi_diff ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_diff" t a, HasCallStack) =>+             ArgsHMap "__npi_diff" t a -> TensorApply t+__npi_diff args+  = let scalarArgs+          = catMaybes+              [("n",) . showValue <$> (args !? #n :: Maybe Int),+               ("axis",) . showValue <$> (args !? #axis :: Maybe Int)]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_npi_diff" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_dstack" t =+     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),+        '("data", AttrOpt [t])]++__npi_dstack ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_dstack" t a, HasCallStack) =>+               ArgsHMap "__npi_dstack" t a -> TensorApply t+__npi_dstack args+  = let scalarArgs+          = catMaybes+              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),+               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "_npi_dstack" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__npi_einsum" t =+     '[ '("num_args", AttrReq Int), '("subscripts", AttrOpt Text),+        '("optimize", AttrOpt Int), '("data", AttrOpt [t])]++__npi_einsum ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_einsum" t a, HasCallStack) =>+               ArgsHMap "__npi_einsum" t a -> TensorApply t+__npi_einsum args+  = let scalarArgs+          = catMaybes+              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),+               ("subscripts",) . showValue <$>+                 (args !? #subscripts :: Maybe Text),+               ("optimize",) . showValue <$> (args !? #optimize :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "_npi_einsum" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__npi_equal" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_equal ::+            forall a t .+              (TensorOp t t, Fullfilled "__npi_equal" t a, HasCallStack) =>+              ArgsHMap "__npi_equal" t a -> TensorApply t+__npi_equal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_equal" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_equal_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_equal_scalar ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__npi_equal_scalar" t a,+                      HasCallStack) =>+                     ArgsHMap "__npi_equal_scalar" t a -> TensorApply t+__npi_equal_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_equal_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_exp" t = '[ '("x", AttrOpt t)]++__npi_exp ::+          forall a t .+            (TensorOp t t, Fullfilled "__npi_exp" t a, HasCallStack) =>+            ArgsHMap "__npi_exp" t a -> TensorApply t+__npi_exp args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_exp" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_expm1" t = '[ '("x", AttrOpt t)]++__npi_expm1 ::+            forall a t .+              (TensorOp t t, Fullfilled "__npi_expm1" t a, HasCallStack) =>+              ArgsHMap "__npi_expm1" t a -> TensorApply t+__npi_expm1 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_expm1" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_fix" t = '[ '("x", AttrOpt t)]++__npi_fix ::+          forall a t .+            (TensorOp t t, Fullfilled "__npi_fix" t a, HasCallStack) =>+            ArgsHMap "__npi_fix" t a -> TensorApply t+__npi_fix args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_fix" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_flip" t =+     '[ '("axis", AttrReq [Int]), '("data", AttrOpt t)]++__npi_flip ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_flip" t a, HasCallStack) =>+             ArgsHMap "__npi_flip" t a -> TensorApply t+__npi_flip args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_flip" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_floor" t = '[ '("x", AttrOpt t)]++__npi_floor ::+            forall a t .+              (TensorOp t t, Fullfilled "__npi_floor" t a, HasCallStack) =>+              ArgsHMap "__npi_floor" t a -> TensorApply t+__npi_floor args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_floor" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_greater" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_greater ::+              forall a t .+                (TensorOp t t, Fullfilled "__npi_greater" t a, HasCallStack) =>+                ArgsHMap "__npi_greater" t a -> TensorApply t+__npi_greater args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_greater" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_greater_equal" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_greater_equal ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__npi_greater_equal" t a,+                       HasCallStack) =>+                      ArgsHMap "__npi_greater_equal" t a -> TensorApply t+__npi_greater_equal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_greater_equal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_greater_equal_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_greater_equal_scalar ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__npi_greater_equal_scalar" t a,+                              HasCallStack) =>+                             ArgsHMap "__npi_greater_equal_scalar" t a -> TensorApply t+__npi_greater_equal_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_greater_equal_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_greater_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_greater_scalar ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__npi_greater_scalar" t a,+                        HasCallStack) =>+                       ArgsHMap "__npi_greater_scalar" t a -> TensorApply t+__npi_greater_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_greater_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_hamming" t =+     '[ '("m", AttrOpt Int), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "int8",+                 "uint8"]))]++__npi_hamming ::+              forall a t .+                (TensorOp t t, Fullfilled "__npi_hamming" t a, HasCallStack) =>+                ArgsHMap "__npi_hamming" t a -> TensorApply t+__npi_hamming args+  = let scalarArgs+          = catMaybes+              [("m",) . showValue <$> (args !? #m :: Maybe Int),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "int8",+                           "uint8"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_npi_hamming" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_hanning" t =+     '[ '("m", AttrOpt Int), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "int8",+                 "uint8"]))]++__npi_hanning ::+              forall a t .+                (TensorOp t t, Fullfilled "__npi_hanning" t a, HasCallStack) =>+                ArgsHMap "__npi_hanning" t a -> TensorApply t+__npi_hanning args+  = let scalarArgs+          = catMaybes+              [("m",) . showValue <$> (args !? #m :: Maybe Int),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "int8",+                           "uint8"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_npi_hanning" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_hsplit" t =+     '[ '("indices", AttrReq [Int]), '("axis", AttrOpt Int),+        '("squeeze_axis", AttrOpt Bool), '("sections", AttrOpt Int),+        '("data", AttrOpt t)]++__npi_hsplit ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_hsplit" t a, HasCallStack) =>+               ArgsHMap "__npi_hsplit" t a -> TensorApply t+__npi_hsplit args+  = let scalarArgs+          = catMaybes+              [("indices",) . showValue <$> (args !? #indices :: Maybe [Int]),+               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("squeeze_axis",) . showValue <$>+                 (args !? #squeeze_axis :: Maybe Bool),+               ("sections",) . showValue <$> (args !? #sections :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_hsplit" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_hsplit_backward" t = '[]++__npi_hsplit_backward ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__npi_hsplit_backward" t a,+                         HasCallStack) =>+                        ArgsHMap "__npi_hsplit_backward" t a -> TensorApply t+__npi_hsplit_backward args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_npi_hsplit_backward" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_hypot" t =+     '[ '("x1", AttrOpt t), '("x2", AttrOpt t)]++__npi_hypot ::+            forall a t .+              (TensorOp t t, Fullfilled "__npi_hypot" t a, HasCallStack) =>+              ArgsHMap "__npi_hypot" t a -> TensorApply t+__npi_hypot args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("x1",) <$> (args !? #x1 :: Maybe t),+               ("x2",) <$> (args !? #x2 :: Maybe t)]+      in+      apply "_npi_hypot" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_identity" t =+     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt+            (EnumType+               '["bool", "float16", "float32", "float64", "int32", "int64",+                 "int8", "uint8"]))]++__npi_identity ::+               forall a t .+                 (TensorOp t t, Fullfilled "__npi_identity" t a, HasCallStack) =>+                 ArgsHMap "__npi_identity" t a -> TensorApply t+__npi_identity args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["bool", "float16", "float32", "float64", "int32", "int64",+                           "int8", "uint8"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_npi_identity" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_indices" t =+     '[ '("dimensions", AttrReq [Int]),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "int8",+                 "uint8"])),+        '("ctx", AttrOpt Text)]++__npi_indices ::+              forall a t .+                (TensorOp t t, Fullfilled "__npi_indices" t a, HasCallStack) =>+                ArgsHMap "__npi_indices" t a -> TensorApply t+__npi_indices args+  = let scalarArgs+          = catMaybes+              [("dimensions",) . showValue <$>+                 (args !? #dimensions :: Maybe [Int]),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "int8",+                           "uint8"])),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text)]+        tensorKeyArgs = catMaybes []+      in+      apply "_npi_indices" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_lcm" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_lcm ::+          forall a t .+            (TensorOp t t, Fullfilled "__npi_lcm" t a, HasCallStack) =>+            ArgsHMap "__npi_lcm" t a -> TensorApply t+__npi_lcm args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_lcm" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_lcm_scalar" t =+     '[ '("scalar", AttrOpt Int), '("data", AttrOpt t)]++__npi_lcm_scalar ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__npi_lcm_scalar" t a, HasCallStack) =>+                   ArgsHMap "__npi_lcm_scalar" t a -> TensorApply t+__npi_lcm_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_lcm_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_ldexp" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_ldexp ::+            forall a t .+              (TensorOp t t, Fullfilled "__npi_ldexp" t a, HasCallStack) =>+              ArgsHMap "__npi_ldexp" t a -> TensorApply t+__npi_ldexp args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_ldexp" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_ldexp_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_ldexp_scalar ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__npi_ldexp_scalar" t a,+                      HasCallStack) =>+                     ArgsHMap "__npi_ldexp_scalar" t a -> TensorApply t+__npi_ldexp_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_ldexp_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_less" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_less ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_less" t a, HasCallStack) =>+             ArgsHMap "__npi_less" t a -> TensorApply t+__npi_less args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_less" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_less_equal" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_less_equal ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__npi_less_equal" t a, HasCallStack) =>+                   ArgsHMap "__npi_less_equal" t a -> TensorApply t+__npi_less_equal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_less_equal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_less_equal_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_less_equal_scalar ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__npi_less_equal_scalar" t a,+                           HasCallStack) =>+                          ArgsHMap "__npi_less_equal_scalar" t a -> TensorApply t+__npi_less_equal_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_less_equal_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_less_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_less_scalar ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__npi_less_scalar" t a, HasCallStack) =>+                    ArgsHMap "__npi_less_scalar" t a -> TensorApply t+__npi_less_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_less_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_log" t = '[ '("x", AttrOpt t)]++__npi_log ::+          forall a t .+            (TensorOp t t, Fullfilled "__npi_log" t a, HasCallStack) =>+            ArgsHMap "__npi_log" t a -> TensorApply t+__npi_log args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_log" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_log10" t = '[ '("x", AttrOpt t)]++__npi_log10 ::+            forall a t .+              (TensorOp t t, Fullfilled "__npi_log10" t a, HasCallStack) =>+              ArgsHMap "__npi_log10" t a -> TensorApply t+__npi_log10 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_log10" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_log1p" t = '[ '("x", AttrOpt t)]++__npi_log1p ::+            forall a t .+              (TensorOp t t, Fullfilled "__npi_log1p" t a, HasCallStack) =>+              ArgsHMap "__npi_log1p" t a -> TensorApply t+__npi_log1p args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_log1p" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_log2" t = '[ '("x", AttrOpt t)]++__npi_log2 ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_log2" t a, HasCallStack) =>+             ArgsHMap "__npi_log2" t a -> TensorApply t+__npi_log2 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_log2" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_logical_not" t =+     '[ '("x", AttrOpt t)]++__npi_logical_not ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__npi_logical_not" t a, HasCallStack) =>+                    ArgsHMap "__npi_logical_not" t a -> TensorApply t+__npi_logical_not args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_logical_not" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_logspace" t =+     '[ '("start", AttrReq Double), '("stop", AttrReq Double),+        '("num", AttrReq Int), '("endpoint", AttrOpt Bool),+        '("base", AttrOpt Double), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "int8",+                 "uint8"]))]++__npi_logspace ::+               forall a t .+                 (TensorOp t t, Fullfilled "__npi_logspace" t a, HasCallStack) =>+                 ArgsHMap "__npi_logspace" t a -> TensorApply t+__npi_logspace args+  = let scalarArgs+          = catMaybes+              [("start",) . showValue <$> (args !? #start :: Maybe Double),+               ("stop",) . showValue <$> (args !? #stop :: Maybe Double),+               ("num",) . showValue <$> (args !? #num :: Maybe Int),+               ("endpoint",) . showValue <$> (args !? #endpoint :: Maybe Bool),+               ("base",) . showValue <$> (args !? #base :: Maybe Double),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "int8",+                           "uint8"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_npi_logspace" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_mean" t =+     '[ '("axis", AttrOpt (Maybe [Int])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["bool", "float16", "float32", "float64", "int32", "int64",+                    "int8"]))),+        '("keepdims", AttrOpt Bool), '("initial", AttrOpt (Maybe Double)),+        '("a", AttrOpt t)]++__npi_mean ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_mean" t a, HasCallStack) =>+             ArgsHMap "__npi_mean" t a -> TensorApply t+__npi_mean args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["bool", "float16", "float32", "float64", "int32", "int64",+                              "int8"]))),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("initial",) . showValue <$>+                 (args !? #initial :: Maybe (Maybe Double))]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_npi_mean" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_mod" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_mod ::+          forall a t .+            (TensorOp t t, Fullfilled "__npi_mod" t a, HasCallStack) =>+            ArgsHMap "__npi_mod" t a -> TensorApply t+__npi_mod args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_mod" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_mod_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_mod_scalar ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__npi_mod_scalar" t a, HasCallStack) =>+                   ArgsHMap "__npi_mod_scalar" t a -> TensorApply t+__npi_mod_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_mod_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_multinomial" t =+     '[ '("n", AttrReq Int), '("pvals", AttrOpt Int),+        '("size", AttrOpt (Maybe [Int])), '("a", AttrOpt t)]++__npi_multinomial ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__npi_multinomial" t a, HasCallStack) =>+                    ArgsHMap "__npi_multinomial" t a -> TensorApply t+__npi_multinomial args+  = let scalarArgs+          = catMaybes+              [("n",) . showValue <$> (args !? #n :: Maybe Int),+               ("pvals",) . showValue <$> (args !? #pvals :: Maybe Int),+               ("size",) . showValue <$> (args !? #size :: Maybe (Maybe [Int]))]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_npi_multinomial" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_multiply" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_multiply ::+               forall a t .+                 (TensorOp t t, Fullfilled "__npi_multiply" t a, HasCallStack) =>+                 ArgsHMap "__npi_multiply" t a -> TensorApply t+__npi_multiply args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_multiply" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_multiply_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_multiply_scalar ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__npi_multiply_scalar" t a,+                         HasCallStack) =>+                        ArgsHMap "__npi_multiply_scalar" t a -> TensorApply t+__npi_multiply_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_multiply_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_negative" t =+     '[ '("x", AttrOpt t)]++__npi_negative ::+               forall a t .+                 (TensorOp t t, Fullfilled "__npi_negative" t a, HasCallStack) =>+                 ArgsHMap "__npi_negative" t a -> TensorApply t+__npi_negative args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_negative" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_normal" t =+     '[ '("loc", AttrReq (Maybe Float)),+        '("scale", AttrReq (Maybe Float)),+        '("size", AttrOpt (Maybe [Int])), '("ctx", AttrOpt Text),+        '("dtype", AttrOpt (EnumType '["float16", "float32", "float64"])),+        '("input1", AttrOpt t), '("input2", AttrOpt t)]++__npi_normal ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_normal" t a, HasCallStack) =>+               ArgsHMap "__npi_normal" t a -> TensorApply t+__npi_normal args+  = let scalarArgs+          = catMaybes+              [("loc",) . showValue <$> (args !? #loc :: Maybe (Maybe Float)),+               ("scale",) . showValue <$> (args !? #scale :: Maybe (Maybe Float)),+               ("size",) . showValue <$> (args !? #size :: Maybe (Maybe [Int])),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["float16", "float32", "float64"]))]+        tensorKeyArgs+          = catMaybes+              [("input1",) <$> (args !? #input1 :: Maybe t),+               ("input2",) <$> (args !? #input2 :: Maybe t)]+      in+      apply "_npi_normal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_not_equal" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_not_equal ::+                forall a t .+                  (TensorOp t t, Fullfilled "__npi_not_equal" t a, HasCallStack) =>+                  ArgsHMap "__npi_not_equal" t a -> TensorApply t+__npi_not_equal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_not_equal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_not_equal_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_not_equal_scalar ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__npi_not_equal_scalar" t a,+                          HasCallStack) =>+                         ArgsHMap "__npi_not_equal_scalar" t a -> TensorApply t+__npi_not_equal_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_not_equal_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_ones" t =+     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt+            (EnumType+               '["bool", "float16", "float32", "float64", "int32", "int64",+                 "int8", "uint8"]))]++__npi_ones ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_ones" t a, HasCallStack) =>+             ArgsHMap "__npi_ones" t a -> TensorApply t+__npi_ones args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["bool", "float16", "float32", "float64", "int32", "int64",+                           "int8", "uint8"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_npi_ones" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_power" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_power ::+            forall a t .+              (TensorOp t t, Fullfilled "__npi_power" t a, HasCallStack) =>+              ArgsHMap "__npi_power" t a -> TensorApply t+__npi_power args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_power" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_power_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_power_scalar ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__npi_power_scalar" t a,+                      HasCallStack) =>+                     ArgsHMap "__npi_power_scalar" t a -> TensorApply t+__npi_power_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_power_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_radians" t =+     '[ '("x", AttrOpt t)]++__npi_radians ::+              forall a t .+                (TensorOp t t, Fullfilled "__npi_radians" t a, HasCallStack) =>+                ArgsHMap "__npi_radians" t a -> TensorApply t+__npi_radians args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_radians" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_rarctan2_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_rarctan2_scalar ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__npi_rarctan2_scalar" t a,+                         HasCallStack) =>+                        ArgsHMap "__npi_rarctan2_scalar" t a -> TensorApply t+__npi_rarctan2_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_rarctan2_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_rcopysign_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_rcopysign_scalar ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__npi_rcopysign_scalar" t a,+                          HasCallStack) =>+                         ArgsHMap "__npi_rcopysign_scalar" t a -> TensorApply t+__npi_rcopysign_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_rcopysign_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_reciprocal" t =+     '[ '("x", AttrOpt t)]++__npi_reciprocal ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__npi_reciprocal" t a, HasCallStack) =>+                   ArgsHMap "__npi_reciprocal" t a -> TensorApply t+__npi_reciprocal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_reciprocal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_rint" t = '[ '("x", AttrOpt t)]++__npi_rint ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_rint" t a, HasCallStack) =>+             ArgsHMap "__npi_rint" t a -> TensorApply t+__npi_rint args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_rint" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_rldexp_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_rldexp_scalar ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__npi_rldexp_scalar" t a,+                       HasCallStack) =>+                      ArgsHMap "__npi_rldexp_scalar" t a -> TensorApply t+__npi_rldexp_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_rldexp_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_rmod_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_rmod_scalar ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__npi_rmod_scalar" t a, HasCallStack) =>+                    ArgsHMap "__npi_rmod_scalar" t a -> TensorApply t+__npi_rmod_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_rmod_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_rot90" t =+     '[ '("k", AttrOpt Int), '("axes", AttrOpt (Maybe [Int])),+        '("data", AttrOpt t)]++__npi_rot90 ::+            forall a t .+              (TensorOp t t, Fullfilled "__npi_rot90" t a, HasCallStack) =>+              ArgsHMap "__npi_rot90" t a -> TensorApply t+__npi_rot90 args+  = let scalarArgs+          = catMaybes+              [("k",) . showValue <$> (args !? #k :: Maybe Int),+               ("axes",) . showValue <$> (args !? #axes :: Maybe (Maybe [Int]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_rot90" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_rpower_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_rpower_scalar ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__npi_rpower_scalar" t a,+                       HasCallStack) =>+                      ArgsHMap "__npi_rpower_scalar" t a -> TensorApply t+__npi_rpower_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_rpower_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_rsubtract_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_rsubtract_scalar ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__npi_rsubtract_scalar" t a,+                          HasCallStack) =>+                         ArgsHMap "__npi_rsubtract_scalar" t a -> TensorApply t+__npi_rsubtract_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_rsubtract_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_rtrue_divide_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_rtrue_divide_scalar ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__npi_rtrue_divide_scalar" t a,+                             HasCallStack) =>+                            ArgsHMap "__npi_rtrue_divide_scalar" t a -> TensorApply t+__npi_rtrue_divide_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_rtrue_divide_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_share_memory" t =+     '[ '("a", AttrOpt t), '("b", AttrOpt t)]++__npi_share_memory ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__npi_share_memory" t a,+                      HasCallStack) =>+                     ArgsHMap "__npi_share_memory" t a -> TensorApply t+__npi_share_memory args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("a",) <$> (args !? #a :: Maybe t),+               ("b",) <$> (args !? #b :: Maybe t)]+      in+      apply "_npi_share_memory" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_sign" t = '[ '("x", AttrOpt t)]++__npi_sign ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_sign" t a, HasCallStack) =>+             ArgsHMap "__npi_sign" t a -> TensorApply t+__npi_sign args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_sign" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_sin" t = '[ '("x", AttrOpt t)]++__npi_sin ::+          forall a t .+            (TensorOp t t, Fullfilled "__npi_sin" t a, HasCallStack) =>+            ArgsHMap "__npi_sin" t a -> TensorApply t+__npi_sin args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_sin" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_sinh" t = '[ '("x", AttrOpt t)]++__npi_sinh ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_sinh" t a, HasCallStack) =>+             ArgsHMap "__npi_sinh" t a -> TensorApply t+__npi_sinh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_sinh" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_sqrt" t = '[ '("x", AttrOpt t)]++__npi_sqrt ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_sqrt" t a, HasCallStack) =>+             ArgsHMap "__npi_sqrt" t a -> TensorApply t+__npi_sqrt args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_sqrt" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_square" t =+     '[ '("x", AttrOpt t)]++__npi_square ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_square" t a, HasCallStack) =>+               ArgsHMap "__npi_square" t a -> TensorApply t+__npi_square args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_square" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_stack" t =+     '[ '("axis", AttrOpt Int), '("num_args", AttrReq Int),+        '("data", AttrOpt [t])]++__npi_stack ::+            forall a t .+              (TensorOp t t, Fullfilled "__npi_stack" t a, HasCallStack) =>+              ArgsHMap "__npi_stack" t a -> TensorApply t+__npi_stack args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "_npi_stack" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__npi_std" t =+     '[ '("axis", AttrOpt (Maybe [Int])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["float16", "float32", "float64", "int32", "int64", "int8"]))),+        '("ddof", AttrOpt Int), '("keepdims", AttrOpt Bool),+        '("a", AttrOpt t)]++__npi_std ::+          forall a t .+            (TensorOp t t, Fullfilled "__npi_std" t a, HasCallStack) =>+            ArgsHMap "__npi_std" t a -> TensorApply t+__npi_std args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["float16", "float32", "float64", "int32", "int64", "int8"]))),+               ("ddof",) . showValue <$> (args !? #ddof :: Maybe Int),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_npi_std" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_subtract" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_subtract ::+               forall a t .+                 (TensorOp t t, Fullfilled "__npi_subtract" t a, HasCallStack) =>+                 ArgsHMap "__npi_subtract" t a -> TensorApply t+__npi_subtract args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_subtract" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_subtract_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_subtract_scalar ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__npi_subtract_scalar" t a,+                         HasCallStack) =>+                        ArgsHMap "__npi_subtract_scalar" t a -> TensorApply t+__npi_subtract_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_subtract_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_svd" t = '[ '("a", AttrOpt t)]++__npi_svd ::+          forall a t .+            (TensorOp t t, Fullfilled "__npi_svd" t a, HasCallStack) =>+            ArgsHMap "__npi_svd" t a -> TensorApply t+__npi_svd args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_npi_svd" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_tan" t = '[ '("x", AttrOpt t)]++__npi_tan ::+          forall a t .+            (TensorOp t t, Fullfilled "__npi_tan" t a, HasCallStack) =>+            ArgsHMap "__npi_tan" t a -> TensorApply t+__npi_tan args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_tan" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_tanh" t = '[ '("x", AttrOpt t)]++__npi_tanh ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_tanh" t a, HasCallStack) =>+             ArgsHMap "__npi_tanh" t a -> TensorApply t+__npi_tanh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_tanh" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_tensordot" t =+     '[ '("a_axes_summed", AttrReq [Int]),+        '("b_axes_summed", AttrReq [Int]), '("a", AttrOpt t),+        '("b", AttrOpt t)]++__npi_tensordot ::+                forall a t .+                  (TensorOp t t, Fullfilled "__npi_tensordot" t a, HasCallStack) =>+                  ArgsHMap "__npi_tensordot" t a -> TensorApply t+__npi_tensordot args+  = let scalarArgs+          = catMaybes+              [("a_axes_summed",) . showValue <$>+                 (args !? #a_axes_summed :: Maybe [Int]),+               ("b_axes_summed",) . showValue <$>+                 (args !? #b_axes_summed :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes+              [("a",) <$> (args !? #a :: Maybe t),+               ("b",) <$> (args !? #b :: Maybe t)]+      in+      apply "_npi_tensordot" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_tensordot_int_axes" t =+     '[ '("axes", AttrReq Int), '("a", AttrOpt t), '("b", AttrOpt t)]++__npi_tensordot_int_axes ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__npi_tensordot_int_axes" t a,+                            HasCallStack) =>+                           ArgsHMap "__npi_tensordot_int_axes" t a -> TensorApply t+__npi_tensordot_int_axes args+  = let scalarArgs+          = catMaybes+              [("axes",) . showValue <$> (args !? #axes :: Maybe Int)]+        tensorKeyArgs+          = catMaybes+              [("a",) <$> (args !? #a :: Maybe t),+               ("b",) <$> (args !? #b :: Maybe t)]+      in+      apply "_npi_tensordot_int_axes" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_tril" t =+     '[ '("k", AttrOpt Int), '("data", AttrOpt t)]++__npi_tril ::+           forall a t .+             (TensorOp t t, Fullfilled "__npi_tril" t a, HasCallStack) =>+             ArgsHMap "__npi_tril" t a -> TensorApply t+__npi_tril args+  = let scalarArgs+          = catMaybes [("k",) . showValue <$> (args !? #k :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_tril" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_true_divide" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__npi_true_divide ::+                  forall a t .+                    (TensorOp t t, Fullfilled "__npi_true_divide" t a, HasCallStack) =>+                    ArgsHMap "__npi_true_divide" t a -> TensorApply t+__npi_true_divide args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_npi_true_divide" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_true_divide_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__npi_true_divide_scalar ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__npi_true_divide_scalar" t a,+                            HasCallStack) =>+                           ArgsHMap "__npi_true_divide_scalar" t a -> TensorApply t+__npi_true_divide_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_true_divide_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_trunc" t = '[ '("x", AttrOpt t)]++__npi_trunc ::+            forall a t .+              (TensorOp t t, Fullfilled "__npi_trunc" t a, HasCallStack) =>+              ArgsHMap "__npi_trunc" t a -> TensorApply t+__npi_trunc args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npi_trunc" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_uniform" t =+     '[ '("low", AttrReq (Maybe Float)),+        '("high", AttrReq (Maybe Float)), '("size", AttrOpt (Maybe [Int])),+        '("ctx", AttrOpt Text),+        '("dtype", AttrOpt (EnumType '["float16", "float32", "float64"])),+        '("input1", AttrOpt t), '("input2", AttrOpt t)]++__npi_uniform ::+              forall a t .+                (TensorOp t t, Fullfilled "__npi_uniform" t a, HasCallStack) =>+                ArgsHMap "__npi_uniform" t a -> TensorApply t+__npi_uniform args+  = let scalarArgs+          = catMaybes+              [("low",) . showValue <$> (args !? #low :: Maybe (Maybe Float)),+               ("high",) . showValue <$> (args !? #high :: Maybe (Maybe Float)),+               ("size",) . showValue <$> (args !? #size :: Maybe (Maybe [Int])),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["float16", "float32", "float64"]))]+        tensorKeyArgs+          = catMaybes+              [("input1",) <$> (args !? #input1 :: Maybe t),+               ("input2",) <$> (args !? #input2 :: Maybe t)]+      in+      apply "_npi_uniform" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_unique" t =+     '[ '("return_index", AttrOpt Bool),+        '("return_inverse", AttrOpt Bool),+        '("return_counts", AttrOpt Bool), '("axis", AttrOpt (Maybe Int)),+        '("data", AttrOpt t)]++__npi_unique ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_unique" t a, HasCallStack) =>+               ArgsHMap "__npi_unique" t a -> TensorApply t+__npi_unique args+  = let scalarArgs+          = catMaybes+              [("return_index",) . showValue <$>+                 (args !? #return_index :: Maybe Bool),+               ("return_inverse",) . showValue <$>+                 (args !? #return_inverse :: Maybe Bool),+               ("return_counts",) . showValue <$>+                 (args !? #return_counts :: Maybe Bool),+               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npi_unique" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_var" t =+     '[ '("axis", AttrOpt (Maybe [Int])),+        '("dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["float16", "float32", "float64", "int32", "int64", "int8"]))),+        '("ddof", AttrOpt Int), '("keepdims", AttrOpt Bool),+        '("a", AttrOpt t)]++__npi_var ::+          forall a t .+            (TensorOp t t, Fullfilled "__npi_var" t a, HasCallStack) =>+            ArgsHMap "__npi_var" t a -> TensorApply t+__npi_var args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["float16", "float32", "float64", "int32", "int64", "int8"]))),+               ("ddof",) . showValue <$> (args !? #ddof :: Maybe Int),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_npi_var" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npi_vstack" t =+     '[ '("num_args", AttrReq Int), '("data", AttrOpt [t])]++__npi_vstack ::+             forall a t .+               (TensorOp t t, Fullfilled "__npi_vstack" t a, HasCallStack) =>+               ArgsHMap "__npi_vstack" t a -> TensorApply t+__npi_vstack args+  = let scalarArgs+          = catMaybes+              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "_npi_vstack" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__npi_zeros" t =+     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt+            (EnumType+               '["bool", "float16", "float32", "float64", "int32", "int64",+                 "int8", "uint8"]))]++__npi_zeros ::+            forall a t .+              (TensorOp t t, Fullfilled "__npi_zeros" t a, HasCallStack) =>+              ArgsHMap "__npi_zeros" t a -> TensorApply t+__npi_zeros args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["bool", "float16", "float32", "float64", "int32", "int64",+                           "int8", "uint8"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_npi_zeros" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npx_nonzero" t =+     '[ '("x", AttrOpt t)]++__npx_nonzero ::+              forall a t .+                (TensorOp t t, Fullfilled "__npx_nonzero" t a, HasCallStack) =>+                ArgsHMap "__npx_nonzero" t a -> TensorApply t+__npx_nonzero args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes [("x",) <$> (args !? #x :: Maybe t)]+      in+      apply "_npx_nonzero" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npx_relu" t =+     '[ '("data", AttrOpt t)]++__npx_relu ::+           forall a t .+             (TensorOp t t, Fullfilled "__npx_relu" t a, HasCallStack) =>+             ArgsHMap "__npx_relu" t a -> TensorApply t+__npx_relu args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npx_relu" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npx_reshape" t =+     '[ '("newshape", AttrReq [Int]), '("reverse", AttrOpt Bool),+        '("order", AttrOpt Text), '("a", AttrOpt t)]++__npx_reshape ::+              forall a t .+                (TensorOp t t, Fullfilled "__npx_reshape" t a, HasCallStack) =>+                ArgsHMap "__npx_reshape" t a -> TensorApply t+__npx_reshape args+  = let scalarArgs+          = catMaybes+              [("newshape",) . showValue <$> (args !? #newshape :: Maybe [Int]),+               ("reverse",) . showValue <$> (args !? #reverse :: Maybe Bool),+               ("order",) . showValue <$> (args !? #order :: Maybe Text)]+        tensorKeyArgs = catMaybes [("a",) <$> (args !? #a :: Maybe t)]+      in+      apply "_npx_reshape" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__npx_sigmoid" t =+     '[ '("data", AttrOpt t)]++__npx_sigmoid ::+              forall a t .+                (TensorOp t t, Fullfilled "__npx_sigmoid" t a, HasCallStack) =>+                ArgsHMap "__npx_sigmoid" t a -> TensorApply t+__npx_sigmoid args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_npx_sigmoid" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__onehot_encode" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__onehot_encode ::+                forall a t .+                  (TensorOp t t, Fullfilled "__onehot_encode" t a, HasCallStack) =>+                  ArgsHMap "__onehot_encode" t a -> TensorApply t+__onehot_encode args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_onehot_encode" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__ones" t =+     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt+            (EnumType+               '["bool", "float16", "float32", "float64", "int32", "int64",+                 "int8", "uint8"]))]++__ones ::+       forall a t .+         (TensorOp t t, Fullfilled "__ones" t a, HasCallStack) =>+         ArgsHMap "__ones" t a -> TensorApply t+__ones args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["bool", "float16", "float32", "float64", "int32", "int64",+                           "int8", "uint8"]))]+        tensorKeyArgs = catMaybes []+      in apply "_ones" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__plus_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__plus_scalar ::+              forall a t .+                (TensorOp t t, Fullfilled "__plus_scalar" t a, HasCallStack) =>+                ArgsHMap "__plus_scalar" t a -> TensorApply t+__plus_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_plus_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__power" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__power ::+        forall a t .+          (TensorOp t t, Fullfilled "__power" t a, HasCallStack) =>+          ArgsHMap "__power" t a -> TensorApply t+__power args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in apply "_power" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__power_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__power_scalar ::+               forall a t .+                 (TensorOp t t, Fullfilled "__power_scalar" t a, HasCallStack) =>+                 ArgsHMap "__power_scalar" t a -> TensorApply t+__power_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_power_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_exponential" t =+     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),+        '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]++__random_exponential ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__random_exponential" t a,+                        HasCallStack) =>+                       ArgsHMap "__random_exponential" t a -> TensorApply t+__random_exponential args+  = let scalarArgs+          = catMaybes+              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),+               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_random_exponential" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_exponential_like" t =+     '[ '("lam", AttrOpt Float), '("data", AttrOpt t)]++__random_exponential_like ::+                          forall a t .+                            (TensorOp t t, Fullfilled "__random_exponential_like" t a,+                             HasCallStack) =>+                            ArgsHMap "__random_exponential_like" t a -> TensorApply t+__random_exponential_like args+  = let scalarArgs+          = catMaybes+              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_random_exponential_like" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_gamma" t =+     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),+        '("shape", AttrOpt [Int]), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]++__random_gamma ::+               forall a t .+                 (TensorOp t t, Fullfilled "__random_gamma" t a, HasCallStack) =>+                 ArgsHMap "__random_gamma" t a -> TensorApply t+__random_gamma args+  = let scalarArgs+          = catMaybes+              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),+               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),+               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_random_gamma" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_gamma_like" t =+     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),+        '("data", AttrOpt t)]++__random_gamma_like ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__random_gamma_like" t a,+                       HasCallStack) =>+                      ArgsHMap "__random_gamma_like" t a -> TensorApply t+__random_gamma_like args+  = let scalarArgs+          = catMaybes+              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),+               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_random_gamma_like" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__random_generalized_negative_binomial" t =+     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),+        '("shape", AttrOpt [Int]), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]++__random_generalized_negative_binomial ::+                                       forall a t .+                                         (TensorOp t t,+                                          Fullfilled "__random_generalized_negative_binomial" t a,+                                          HasCallStack) =>+                                         ArgsHMap "__random_generalized_negative_binomial" t a ->+                                           TensorApply t+__random_generalized_negative_binomial args+  = let scalarArgs+          = catMaybes+              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),+               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),+               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_random_generalized_negative_binomial" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__random_generalized_negative_binomial_like" t =+     '[ '("mu", AttrOpt Float), '("alpha", AttrOpt Float),+        '("data", AttrOpt t)]++__random_generalized_negative_binomial_like ::+                                            forall a t .+                                              (TensorOp t t,+                                               Fullfilled+                                                 "__random_generalized_negative_binomial_like" t a,+                                               HasCallStack) =>+                                              ArgsHMap "__random_generalized_negative_binomial_like"+                                                t+                                                a+                                                -> TensorApply t+__random_generalized_negative_binomial_like args+  = let scalarArgs+          = catMaybes+              [("mu",) . showValue <$> (args !? #mu :: Maybe Float),+               ("alpha",) . showValue <$> (args !? #alpha :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_random_generalized_negative_binomial_like" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_negative_binomial" t =+     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),+        '("shape", AttrOpt [Int]), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]++__random_negative_binomial ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__random_negative_binomial" t a,+                              HasCallStack) =>+                             ArgsHMap "__random_negative_binomial" t a -> TensorApply t+__random_negative_binomial args+  = let scalarArgs+          = catMaybes+              [("k",) . showValue <$> (args !? #k :: Maybe Int),+               ("p",) . showValue <$> (args !? #p :: Maybe Float),+               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_random_negative_binomial" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_negative_binomial_like" t =+     '[ '("k", AttrOpt Int), '("p", AttrOpt Float),+        '("data", AttrOpt t)]++__random_negative_binomial_like ::+                                forall a t .+                                  (TensorOp t t, Fullfilled "__random_negative_binomial_like" t a,+                                   HasCallStack) =>+                                  ArgsHMap "__random_negative_binomial_like" t a -> TensorApply t+__random_negative_binomial_like args+  = let scalarArgs+          = catMaybes+              [("k",) . showValue <$> (args !? #k :: Maybe Int),+               ("p",) . showValue <$> (args !? #p :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_random_negative_binomial_like" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_normal" t =+     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),+        '("shape", AttrOpt [Int]), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]++__random_normal ::+                forall a t .+                  (TensorOp t t, Fullfilled "__random_normal" t a, HasCallStack) =>+                  ArgsHMap "__random_normal" t a -> TensorApply t+__random_normal args+  = let scalarArgs+          = catMaybes+              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),+               ("scale",) . showValue <$> (args !? #scale :: Maybe Float),+               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_random_normal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_normal_like" t =+     '[ '("loc", AttrOpt Float), '("scale", AttrOpt Float),+        '("data", AttrOpt t)]++__random_normal_like ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__random_normal_like" t a,+                        HasCallStack) =>+                       ArgsHMap "__random_normal_like" t a -> TensorApply t+__random_normal_like args+  = let scalarArgs+          = catMaybes+              [("loc",) . showValue <$> (args !? #loc :: Maybe Float),+               ("scale",) . showValue <$> (args !? #scale :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_random_normal_like" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_pdf_dirichlet" t =+     '[ '("is_log", AttrOpt Bool), '("sample", AttrOpt t),+        '("alpha", AttrOpt t)]++__random_pdf_dirichlet ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__random_pdf_dirichlet" t a,+                          HasCallStack) =>+                         ArgsHMap "__random_pdf_dirichlet" t a -> TensorApply t+__random_pdf_dirichlet args+  = let scalarArgs+          = catMaybes+              [("is_log",) . showValue <$> (args !? #is_log :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("sample",) <$> (args !? #sample :: Maybe t),+               ("alpha",) <$> (args !? #alpha :: Maybe t)]+      in+      apply "_random_pdf_dirichlet" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_pdf_exponential" t =+     '[ '("is_log", AttrOpt Bool), '("sample", AttrOpt t),+        '("lam", AttrOpt t)]++__random_pdf_exponential ::+                         forall a t .+                           (TensorOp t t, Fullfilled "__random_pdf_exponential" t a,+                            HasCallStack) =>+                           ArgsHMap "__random_pdf_exponential" t a -> TensorApply t+__random_pdf_exponential args+  = let scalarArgs+          = catMaybes+              [("is_log",) . showValue <$> (args !? #is_log :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("sample",) <$> (args !? #sample :: Maybe t),+               ("lam",) <$> (args !? #lam :: Maybe t)]+      in+      apply "_random_pdf_exponential" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_pdf_gamma" t =+     '[ '("is_log", AttrOpt Bool), '("sample", AttrOpt t),+        '("alpha", AttrOpt t), '("beta", AttrOpt t)]++__random_pdf_gamma ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__random_pdf_gamma" t a,+                      HasCallStack) =>+                     ArgsHMap "__random_pdf_gamma" t a -> TensorApply t+__random_pdf_gamma args+  = let scalarArgs+          = catMaybes+              [("is_log",) . showValue <$> (args !? #is_log :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("sample",) <$> (args !? #sample :: Maybe t),+               ("alpha",) <$> (args !? #alpha :: Maybe t),+               ("beta",) <$> (args !? #beta :: Maybe t)]+      in+      apply "_random_pdf_gamma" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__random_pdf_generalized_negative_binomial" t =+     '[ '("is_log", AttrOpt Bool), '("sample", AttrOpt t),+        '("mu", AttrOpt t), '("alpha", AttrOpt t)]++__random_pdf_generalized_negative_binomial ::+                                           forall a t .+                                             (TensorOp t t,+                                              Fullfilled+                                                "__random_pdf_generalized_negative_binomial" t a,+                                              HasCallStack) =>+                                             ArgsHMap "__random_pdf_generalized_negative_binomial" t+                                               a+                                               -> TensorApply t+__random_pdf_generalized_negative_binomial args+  = let scalarArgs+          = catMaybes+              [("is_log",) . showValue <$> (args !? #is_log :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("sample",) <$> (args !? #sample :: Maybe t),+               ("mu",) <$> (args !? #mu :: Maybe t),+               ("alpha",) <$> (args !? #alpha :: Maybe t)]+      in+      apply "_random_pdf_generalized_negative_binomial" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_pdf_negative_binomial" t =+     '[ '("is_log", AttrOpt Bool), '("sample", AttrOpt t),+        '("k", AttrOpt t), '("p", AttrOpt t)]++__random_pdf_negative_binomial ::+                               forall a t .+                                 (TensorOp t t, Fullfilled "__random_pdf_negative_binomial" t a,+                                  HasCallStack) =>+                                 ArgsHMap "__random_pdf_negative_binomial" t a -> TensorApply t+__random_pdf_negative_binomial args+  = let scalarArgs+          = catMaybes+              [("is_log",) . showValue <$> (args !? #is_log :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("sample",) <$> (args !? #sample :: Maybe t),+               ("k",) <$> (args !? #k :: Maybe t),+               ("p",) <$> (args !? #p :: Maybe t)]+      in+      apply "_random_pdf_negative_binomial" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_pdf_normal" t =+     '[ '("is_log", AttrOpt Bool), '("sample", AttrOpt t),+        '("mu", AttrOpt t), '("sigma", AttrOpt t)]++__random_pdf_normal ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__random_pdf_normal" t a,+                       HasCallStack) =>+                      ArgsHMap "__random_pdf_normal" t a -> TensorApply t+__random_pdf_normal args+  = let scalarArgs+          = catMaybes+              [("is_log",) . showValue <$> (args !? #is_log :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("sample",) <$> (args !? #sample :: Maybe t),+               ("mu",) <$> (args !? #mu :: Maybe t),+               ("sigma",) <$> (args !? #sigma :: Maybe t)]+      in+      apply "_random_pdf_normal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_pdf_poisson" t =+     '[ '("is_log", AttrOpt Bool), '("sample", AttrOpt t),+        '("lam", AttrOpt t)]++__random_pdf_poisson ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__random_pdf_poisson" t a,+                        HasCallStack) =>+                       ArgsHMap "__random_pdf_poisson" t a -> TensorApply t+__random_pdf_poisson args+  = let scalarArgs+          = catMaybes+              [("is_log",) . showValue <$> (args !? #is_log :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("sample",) <$> (args !? #sample :: Maybe t),+               ("lam",) <$> (args !? #lam :: Maybe t)]+      in+      apply "_random_pdf_poisson" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_pdf_uniform" t =+     '[ '("is_log", AttrOpt Bool), '("sample", AttrOpt t),+        '("low", AttrOpt t), '("high", AttrOpt t)]++__random_pdf_uniform ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__random_pdf_uniform" t a,+                        HasCallStack) =>+                       ArgsHMap "__random_pdf_uniform" t a -> TensorApply t+__random_pdf_uniform args+  = let scalarArgs+          = catMaybes+              [("is_log",) . showValue <$> (args !? #is_log :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("sample",) <$> (args !? #sample :: Maybe t),+               ("low",) <$> (args !? #low :: Maybe t),+               ("high",) <$> (args !? #high :: Maybe t)]+      in+      apply "_random_pdf_uniform" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_poisson" t =+     '[ '("lam", AttrOpt Float), '("shape", AttrOpt [Int]),+        '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]++__random_poisson ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__random_poisson" t a, HasCallStack) =>+                   ArgsHMap "__random_poisson" t a -> TensorApply t+__random_poisson args+  = let scalarArgs+          = catMaybes+              [("lam",) . showValue <$> (args !? #lam :: Maybe Float),+               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_random_poisson" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_poisson_like" t =+     '[ '("lam", AttrOpt Float), '("data", AttrOpt t)]++__random_poisson_like ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__random_poisson_like" t a,+                         HasCallStack) =>+                        ArgsHMap "__random_poisson_like" t a -> TensorApply t+__random_poisson_like args+  = let scalarArgs+          = catMaybes+              [("lam",) . showValue <$> (args !? #lam :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_random_poisson_like" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_uniform" t =+     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),+        '("shape", AttrOpt [Int]), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"]))]++__random_uniform ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__random_uniform" t a, HasCallStack) =>+                   ArgsHMap "__random_uniform" t a -> TensorApply t+__random_uniform args+  = let scalarArgs+          = catMaybes+              [("low",) . showValue <$> (args !? #low :: Maybe Float),+               ("high",) . showValue <$> (args !? #high :: Maybe Float),+               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs = catMaybes []+      in+      apply "_random_uniform" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__random_uniform_like" t =+     '[ '("low", AttrOpt Float), '("high", AttrOpt Float),+        '("data", AttrOpt t)]++__random_uniform_like ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__random_uniform_like" t a,+                         HasCallStack) =>+                        ArgsHMap "__random_uniform_like" t a -> TensorApply t+__random_uniform_like args+  = let scalarArgs+          = catMaybes+              [("low",) . showValue <$> (args !? #low :: Maybe Float),+               ("high",) . showValue <$> (args !? #high :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_random_uniform_like" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__ravel_multi_index" t =+     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt t)]++__ravel_multi_index ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__ravel_multi_index" t a,+                       HasCallStack) =>+                      ArgsHMap "__ravel_multi_index" t a -> TensorApply t+__ravel_multi_index args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_ravel_multi_index" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__rdiv_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__rdiv_scalar ::+              forall a t .+                (TensorOp t t, Fullfilled "__rdiv_scalar" t a, HasCallStack) =>+                ArgsHMap "__rdiv_scalar" t a -> TensorApply t+__rdiv_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_rdiv_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__rminus_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__rminus_scalar ::+                forall a t .+                  (TensorOp t t, Fullfilled "__rminus_scalar" t a, HasCallStack) =>+                  ArgsHMap "__rminus_scalar" t a -> TensorApply t+__rminus_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_rminus_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__rmod_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__rmod_scalar ::+              forall a t .+                (TensorOp t t, Fullfilled "__rmod_scalar" t a, HasCallStack) =>+                ArgsHMap "__rmod_scalar" t a -> TensorApply t+__rmod_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_rmod_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__rnn_param_concat" t =+     '[ '("num_args", AttrReq Int), '("dim", AttrOpt Int),+        '("data", AttrOpt [t])]++__rnn_param_concat ::+                   forall a t .+                     (TensorOp t t, Fullfilled "__rnn_param_concat" t a,+                      HasCallStack) =>+                     ArgsHMap "__rnn_param_concat" t a -> TensorApply t+__rnn_param_concat args+  = let scalarArgs+          = catMaybes+              [("num_args",) . showValue <$> (args !? #num_args :: Maybe Int),+               ("dim",) . showValue <$> (args !? #dim :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "_rnn_param_concat" scalarArgs (Right tensorVarArgs)++type instance ParameterList "__rpower_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__rpower_scalar ::+                forall a t .+                  (TensorOp t t, Fullfilled "__rpower_scalar" t a, HasCallStack) =>+                  ArgsHMap "__rpower_scalar" t a -> TensorApply t+__rpower_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_rpower_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__sample_exponential" t =+     '[ '("shape", AttrOpt [Int]),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),+        '("lam", AttrOpt t)]++__sample_exponential ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__sample_exponential" t a,+                        HasCallStack) =>+                       ArgsHMap "__sample_exponential" t a -> TensorApply t+__sample_exponential args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs = catMaybes [("lam",) <$> (args !? #lam :: Maybe t)]+      in+      apply "_sample_exponential" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__sample_gamma" t =+     '[ '("shape", AttrOpt [Int]),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),+        '("alpha", AttrOpt t), '("beta", AttrOpt t)]++__sample_gamma ::+               forall a t .+                 (TensorOp t t, Fullfilled "__sample_gamma" t a, HasCallStack) =>+                 ArgsHMap "__sample_gamma" t a -> TensorApply t+__sample_gamma args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs+          = catMaybes+              [("alpha",) <$> (args !? #alpha :: Maybe t),+               ("beta",) <$> (args !? #beta :: Maybe t)]+      in+      apply "_sample_gamma" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance+     ParameterList "__sample_generalized_negative_binomial" t =+     '[ '("shape", AttrOpt [Int]),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),+        '("mu", AttrOpt t), '("alpha", AttrOpt t)]++__sample_generalized_negative_binomial ::+                                       forall a t .+                                         (TensorOp t t,+                                          Fullfilled "__sample_generalized_negative_binomial" t a,+                                          HasCallStack) =>+                                         ArgsHMap "__sample_generalized_negative_binomial" t a ->+                                           TensorApply t+__sample_generalized_negative_binomial args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs+          = catMaybes+              [("mu",) <$> (args !? #mu :: Maybe t),+               ("alpha",) <$> (args !? #alpha :: Maybe t)]+      in+      apply "_sample_generalized_negative_binomial" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__sample_multinomial" t =+     '[ '("shape", AttrOpt [Int]), '("get_prob", AttrOpt Bool),+        '("dtype",+          AttrOpt+            (EnumType '["float16", "float32", "float64", "int32", "uint8"])),+        '("data", AttrOpt t)]++__sample_multinomial ::+                     forall a t .+                       (TensorOp t t, Fullfilled "__sample_multinomial" t a,+                        HasCallStack) =>+                       ArgsHMap "__sample_multinomial" t a -> TensorApply t+__sample_multinomial args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("get_prob",) . showValue <$> (args !? #get_prob :: Maybe Bool),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType '["float16", "float32", "float64", "int32", "uint8"]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_sample_multinomial" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__sample_negative_binomial" t =+     '[ '("shape", AttrOpt [Int]),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),+        '("k", AttrOpt t), '("p", AttrOpt t)]++__sample_negative_binomial ::+                           forall a t .+                             (TensorOp t t, Fullfilled "__sample_negative_binomial" t a,+                              HasCallStack) =>+                             ArgsHMap "__sample_negative_binomial" t a -> TensorApply t+__sample_negative_binomial args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs+          = catMaybes+              [("k",) <$> (args !? #k :: Maybe t),+               ("p",) <$> (args !? #p :: Maybe t)]+      in+      apply "_sample_negative_binomial" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__sample_normal" t =+     '[ '("shape", AttrOpt [Int]),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),+        '("mu", AttrOpt t), '("sigma", AttrOpt t)]++__sample_normal ::+                forall a t .+                  (TensorOp t t, Fullfilled "__sample_normal" t a, HasCallStack) =>+                  ArgsHMap "__sample_normal" t a -> TensorApply t+__sample_normal args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs+          = catMaybes+              [("mu",) <$> (args !? #mu :: Maybe t),+               ("sigma",) <$> (args !? #sigma :: Maybe t)]+      in+      apply "_sample_normal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__sample_poisson" t =+     '[ '("shape", AttrOpt [Int]),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),+        '("lam", AttrOpt t)]++__sample_poisson ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__sample_poisson" t a, HasCallStack) =>+                   ArgsHMap "__sample_poisson" t a -> TensorApply t+__sample_poisson args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs = catMaybes [("lam",) <$> (args !? #lam :: Maybe t)]+      in+      apply "_sample_poisson" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__sample_uniform" t =+     '[ '("shape", AttrOpt [Int]),+        '("dtype",+          AttrOpt (EnumType '["None", "float16", "float32", "float64"])),+        '("low", AttrOpt t), '("high", AttrOpt t)]++__sample_uniform ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__sample_uniform" t a, HasCallStack) =>+                   ArgsHMap "__sample_uniform" t a -> TensorApply t+__sample_uniform args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (EnumType '["None", "float16", "float32", "float64"]))]+        tensorKeyArgs+          = catMaybes+              [("low",) <$> (args !? #low :: Maybe t),+               ("high",) <$> (args !? #high :: Maybe t)]+      in+      apply "_sample_uniform" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__sample_unique_zipfian" t =+     '[ '("range_max", AttrReq Int), '("shape", AttrOpt [Int])]++__sample_unique_zipfian ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__sample_unique_zipfian" t a,+                           HasCallStack) =>+                          ArgsHMap "__sample_unique_zipfian" t a -> TensorApply t+__sample_unique_zipfian args+  = let scalarArgs+          = catMaybes+              [("range_max",) . showValue <$> (args !? #range_max :: Maybe Int),+               ("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]+        tensorKeyArgs = catMaybes []+      in+      apply "_sample_unique_zipfian" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__scatter_elemwise_div" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__scatter_elemwise_div ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__scatter_elemwise_div" t a,+                          HasCallStack) =>+                         ArgsHMap "__scatter_elemwise_div" t a -> TensorApply t+__scatter_elemwise_div args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_scatter_elemwise_div" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__scatter_minus_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__scatter_minus_scalar ::+                       forall a t .+                         (TensorOp t t, Fullfilled "__scatter_minus_scalar" t a,+                          HasCallStack) =>+                         ArgsHMap "__scatter_minus_scalar" t a -> TensorApply t+__scatter_minus_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_scatter_minus_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__scatter_plus_scalar" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++__scatter_plus_scalar ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__scatter_plus_scalar" t a,+                         HasCallStack) =>+                        ArgsHMap "__scatter_plus_scalar" t a -> TensorApply t+__scatter_plus_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_scatter_plus_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__scatter_set_nd" t =+     '[ '("shape", AttrReq [Int]), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t), '("indices", AttrOpt t)]++__scatter_set_nd ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__scatter_set_nd" t a, HasCallStack) =>+                   ArgsHMap "__scatter_set_nd" t a -> TensorApply t+__scatter_set_nd args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t),+               ("indices",) <$> (args !? #indices :: Maybe t)]+      in+      apply "_scatter_set_nd" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__set_value" t =+     '[ '("src", AttrOpt Float)]++__set_value ::+            forall a t .+              (TensorOp t t, Fullfilled "__set_value" t a, HasCallStack) =>+              ArgsHMap "__set_value" t a -> TensorApply t+__set_value args+  = let scalarArgs+          = catMaybes+              [("src",) . showValue <$> (args !? #src :: Maybe Float)]+        tensorKeyArgs = catMaybes []+      in+      apply "_set_value" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__sg_mkldnn_conv" t = '[]++__sg_mkldnn_conv ::+                 forall a t .+                   (TensorOp t t, Fullfilled "__sg_mkldnn_conv" t a, HasCallStack) =>+                   ArgsHMap "__sg_mkldnn_conv" t a -> TensorApply t+__sg_mkldnn_conv args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_sg_mkldnn_conv" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__sg_mkldnn_fully_connected" t = '[]++__sg_mkldnn_fully_connected ::+                            forall a t .+                              (TensorOp t t, Fullfilled "__sg_mkldnn_fully_connected" t a,+                               HasCallStack) =>+                              ArgsHMap "__sg_mkldnn_fully_connected" t a -> TensorApply t+__sg_mkldnn_fully_connected args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_sg_mkldnn_fully_connected" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__shuffle" t =+     '[ '("data", AttrOpt t)]++__shuffle ::+          forall a t .+            (TensorOp t t, Fullfilled "__shuffle" t a, HasCallStack) =>+            ArgsHMap "__shuffle" t a -> TensorApply t+__shuffle args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_shuffle" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__slice_assign" t =+     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),+        '("step", AttrOpt [Int]), '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++__slice_assign ::+               forall a t .+                 (TensorOp t t, Fullfilled "__slice_assign" t a, HasCallStack) =>+                 ArgsHMap "__slice_assign" t a -> TensorApply t+__slice_assign args+  = let scalarArgs+          = catMaybes+              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),+               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),+               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "_slice_assign" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__slice_assign_scalar" t =+     '[ '("scalar", AttrOpt Double), '("begin", AttrReq [Int]),+        '("end", AttrReq [Int]), '("step", AttrOpt [Int]),+        '("data", AttrOpt t)]++__slice_assign_scalar ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__slice_assign_scalar" t a,+                         HasCallStack) =>+                        ArgsHMap "__slice_assign_scalar" t a -> TensorApply t+__slice_assign_scalar args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Double),+               ("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),+               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),+               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_slice_assign_scalar" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__sparse_adagrad_update" t =+     '[ '("lr", AttrReq Float), '("epsilon", AttrOpt Float),+        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("weight", AttrOpt t),+        '("grad", AttrOpt t), '("history", AttrOpt t)]++__sparse_adagrad_update ::+                        forall a t .+                          (TensorOp t t, Fullfilled "__sparse_adagrad_update" t a,+                           HasCallStack) =>+                          ArgsHMap "__sparse_adagrad_update" t a -> TensorApply t+__sparse_adagrad_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("history",) <$> (args !? #history :: Maybe t)]+      in+      apply "_sparse_adagrad_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__sparse_retain" t =+     '[ '("data", AttrOpt t), '("indices", AttrOpt t)]++__sparse_retain ::+                forall a t .+                  (TensorOp t t, Fullfilled "__sparse_retain" t a, HasCallStack) =>+                  ArgsHMap "__sparse_retain" t a -> TensorApply t+__sparse_retain args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("indices",) <$> (args !? #indices :: Maybe t)]+      in+      apply "_sparse_retain" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__split_v2" t =+     '[ '("indices", AttrReq [Int]), '("axis", AttrOpt Int),+        '("squeeze_axis", AttrOpt Bool), '("sections", AttrOpt Int),+        '("data", AttrOpt t)]++__split_v2 ::+           forall a t .+             (TensorOp t t, Fullfilled "__split_v2" t a, HasCallStack) =>+             ArgsHMap "__split_v2" t a -> TensorApply t+__split_v2 args+  = let scalarArgs+          = catMaybes+              [("indices",) . showValue <$> (args !? #indices :: Maybe [Int]),+               ("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("squeeze_axis",) . showValue <$>+                 (args !? #squeeze_axis :: Maybe Bool),+               ("sections",) . showValue <$> (args !? #sections :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_split_v2" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__split_v2_backward" t = '[]++__split_v2_backward ::+                    forall a t .+                      (TensorOp t t, Fullfilled "__split_v2_backward" t a,+                       HasCallStack) =>+                      ArgsHMap "__split_v2_backward" t a -> TensorApply t+__split_v2_backward args+  = let scalarArgs = catMaybes []+        tensorKeyArgs = catMaybes []+      in+      apply "_split_v2_backward" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__square_sum" t =+     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),+        '("exclude", AttrOpt Bool), '("data", AttrOpt t)]++__square_sum ::+             forall a t .+               (TensorOp t t, Fullfilled "__square_sum" t a, HasCallStack) =>+               ArgsHMap "__square_sum" t a -> TensorApply t+__square_sum args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_square_sum" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__unravel_index" t =+     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt t)]++__unravel_index ::+                forall a t .+                  (TensorOp t t, Fullfilled "__unravel_index" t a, HasCallStack) =>+                  ArgsHMap "__unravel_index" t a -> TensorApply t+__unravel_index args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "_unravel_index" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__zeros" t =+     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt Text),+        '("dtype",+          AttrOpt+            (EnumType+               '["bool", "float16", "float32", "float64", "int32", "int64",+                 "int8", "uint8"]))]++__zeros ::+        forall a t .+          (TensorOp t t, Fullfilled "__zeros" t a, HasCallStack) =>+          ArgsHMap "__zeros" t a -> TensorApply t+__zeros args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["bool", "float16", "float32", "float64", "int32", "int64",+                           "int8", "uint8"]))]+        tensorKeyArgs = catMaybes []+      in apply "_zeros" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "__zeros_without_dtype" t =+     '[ '("shape", AttrOpt [Int]), '("ctx", AttrOpt Text),+        '("dtype", AttrOpt Int)]++__zeros_without_dtype ::+                      forall a t .+                        (TensorOp t t, Fullfilled "__zeros_without_dtype" t a,+                         HasCallStack) =>+                        ArgsHMap "__zeros_without_dtype" t a -> TensorApply t+__zeros_without_dtype args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int]),+               ("ctx",) . showValue <$> (args !? #ctx :: Maybe Text),+               ("dtype",) . showValue <$> (args !? #dtype :: Maybe Int)]+        tensorKeyArgs = catMaybes []+      in+      apply "_zeros_without_dtype" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_abs" t = '[ '("data", AttrOpt t)]++_abs ::+     forall a t . (TensorOp t t, Fullfilled "_abs" t a, HasCallStack) =>+       ArgsHMap "_abs" t a -> TensorApply t+_abs args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "abs" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_adam_update" t =+     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),+        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Float),+        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),+        '("weight", AttrOpt t), '("grad", AttrOpt t), '("mean", AttrOpt t),+        '("var", AttrOpt t)]++_adam_update ::+             forall a t .+               (TensorOp t t, Fullfilled "_adam_update" t a, HasCallStack) =>+               ArgsHMap "_adam_update" t a -> TensorApply t+_adam_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),+               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),+               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("lazy_update",) . showValue <$>+                 (args !? #lazy_update :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("mean",) <$> (args !? #mean :: Maybe t),+               ("var",) <$> (args !? #var :: Maybe t)]+      in+      apply "adam_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_add_n" t = '[ '("args", AttrOpt [t])]++_add_n ::+       forall a t .+         (TensorOp t t, Fullfilled "_add_n" t a, HasCallStack) =>+         ArgsHMap "_add_n" t a -> TensorApply t+_add_n args+  = let scalarArgs+          = catMaybes [Just ("num_args", showValue (length tensorVarArgs))]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #args :: Maybe [t])+      in apply "add_n" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_all_finite" t =+     '[ '("init_output", AttrOpt Bool), '("data", AttrOpt t)]++_all_finite ::+            forall a t .+              (TensorOp t t, Fullfilled "_all_finite" t a, HasCallStack) =>+              ArgsHMap "_all_finite" t a -> TensorApply t+_all_finite args+  = let scalarArgs+          = catMaybes+              [("init_output",) . showValue <$>+                 (args !? #init_output :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "all_finite" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_amp_cast" t =+     '[ '("dtype",+          AttrReq+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "int8",+                 "uint8"])),+        '("data", AttrOpt t)]++_amp_cast ::+          forall a t .+            (TensorOp t t, Fullfilled "_amp_cast" t a, HasCallStack) =>+            ArgsHMap "_amp_cast" t a -> TensorApply t+_amp_cast args+  = let scalarArgs+          = catMaybes+              [("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "int8",+                           "uint8"]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "amp_cast" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_amp_multicast" t =+     '[ '("num_outputs", AttrReq Int), '("cast_narrow", AttrOpt Bool),+        '("data", AttrOpt [t])]++_amp_multicast ::+               forall a t .+                 (TensorOp t t, Fullfilled "_amp_multicast" t a, HasCallStack) =>+                 ArgsHMap "_amp_multicast" t a -> TensorApply t+_amp_multicast args+  = let scalarArgs+          = catMaybes+              [("num_outputs",) . showValue <$>+                 (args !? #num_outputs :: Maybe Int),+               ("cast_narrow",) . showValue <$>+                 (args !? #cast_narrow :: Maybe Bool)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "amp_multicast" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_arccos" t = '[ '("data", AttrOpt t)]++_arccos ::+        forall a t .+          (TensorOp t t, Fullfilled "_arccos" t a, HasCallStack) =>+          ArgsHMap "_arccos" t a -> TensorApply t+_arccos args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "arccos" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_arccosh" t = '[ '("data", AttrOpt t)]++_arccosh ::+         forall a t .+           (TensorOp t t, Fullfilled "_arccosh" t a, HasCallStack) =>+           ArgsHMap "_arccosh" t a -> TensorApply t+_arccosh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "arccosh" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_arcsin" t = '[ '("data", AttrOpt t)]++_arcsin ::+        forall a t .+          (TensorOp t t, Fullfilled "_arcsin" t a, HasCallStack) =>+          ArgsHMap "_arcsin" t a -> TensorApply t+_arcsin args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "arcsin" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_arcsinh" t = '[ '("data", AttrOpt t)]++_arcsinh ::+         forall a t .+           (TensorOp t t, Fullfilled "_arcsinh" t a, HasCallStack) =>+           ArgsHMap "_arcsinh" t a -> TensorApply t+_arcsinh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "arcsinh" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_arctan" t = '[ '("data", AttrOpt t)]++_arctan ::+        forall a t .+          (TensorOp t t, Fullfilled "_arctan" t a, HasCallStack) =>+          ArgsHMap "_arctan" t a -> TensorApply t+_arctan args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "arctan" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_arctanh" t = '[ '("data", AttrOpt t)]++_arctanh ::+         forall a t .+           (TensorOp t t, Fullfilled "_arctanh" t a, HasCallStack) =>+           ArgsHMap "_arctanh" t a -> TensorApply t+_arctanh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "arctanh" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_argmax" t =+     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),+        '("data", AttrOpt t)]++_argmax ::+        forall a t .+          (TensorOp t t, Fullfilled "_argmax" t a, HasCallStack) =>+          ArgsHMap "_argmax" t a -> TensorApply t+_argmax args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "argmax" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_argmax_channel" t =+     '[ '("data", AttrOpt t)]++_argmax_channel ::+                forall a t .+                  (TensorOp t t, Fullfilled "_argmax_channel" t a, HasCallStack) =>+                  ArgsHMap "_argmax_channel" t a -> TensorApply t+_argmax_channel args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "argmax_channel" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_argmin" t =+     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),+        '("data", AttrOpt t)]++_argmin ::+        forall a t .+          (TensorOp t t, Fullfilled "_argmin" t a, HasCallStack) =>+          ArgsHMap "_argmin" t a -> TensorApply t+_argmin args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "argmin" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_argsort" t =+     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "uint8"])),+        '("data", AttrOpt t)]++_argsort ::+         forall a t .+           (TensorOp t t, Fullfilled "_argsort" t a, HasCallStack) =>+           ArgsHMap "_argsort" t a -> TensorApply t+_argsort args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),+               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "uint8"]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "argsort" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_batch_dot" t =+     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),+        '("forward_stype",+          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),+        '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_batch_dot ::+           forall a t .+             (TensorOp t t, Fullfilled "_batch_dot" t a, HasCallStack) =>+             ArgsHMap "_batch_dot" t a -> TensorApply t+_batch_dot args+  = let scalarArgs+          = catMaybes+              [("transpose_a",) . showValue <$>+                 (args !? #transpose_a :: Maybe Bool),+               ("transpose_b",) . showValue <$>+                 (args !? #transpose_b :: Maybe Bool),+               ("forward_stype",) . showValue <$>+                 (args !? #forward_stype ::+                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "batch_dot" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_batch_take" t =+     '[ '("a", AttrOpt t), '("indices", AttrOpt t)]++_batch_take ::+            forall a t .+              (TensorOp t t, Fullfilled "_batch_take" t a, HasCallStack) =>+              ArgsHMap "_batch_take" t a -> TensorApply t+_batch_take args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("a",) <$> (args !? #a :: Maybe t),+               ("indices",) <$> (args !? #indices :: Maybe t)]+      in+      apply "batch_take" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_add" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_add ::+               forall a t .+                 (TensorOp t t, Fullfilled "_broadcast_add" t a, HasCallStack) =>+                 ArgsHMap "_broadcast_add" t a -> TensorApply t+_broadcast_add args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_add" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_axis" t =+     '[ '("axis", AttrOpt [Int]), '("size", AttrOpt [Int]),+        '("data", AttrOpt t)]++_broadcast_axis ::+                forall a t .+                  (TensorOp t t, Fullfilled "_broadcast_axis" t a, HasCallStack) =>+                  ArgsHMap "_broadcast_axis" t a -> TensorApply t+_broadcast_axis args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int]),+               ("size",) . showValue <$> (args !? #size :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "broadcast_axis" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_div" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_div ::+               forall a t .+                 (TensorOp t t, Fullfilled "_broadcast_div" t a, HasCallStack) =>+                 ArgsHMap "_broadcast_div" t a -> TensorApply t+_broadcast_div args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_div" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_equal" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_equal ::+                 forall a t .+                   (TensorOp t t, Fullfilled "_broadcast_equal" t a, HasCallStack) =>+                   ArgsHMap "_broadcast_equal" t a -> TensorApply t+_broadcast_equal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_equal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_greater" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_greater ::+                   forall a t .+                     (TensorOp t t, Fullfilled "_broadcast_greater" t a,+                      HasCallStack) =>+                     ArgsHMap "_broadcast_greater" t a -> TensorApply t+_broadcast_greater args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_greater" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_greater_equal" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_greater_equal ::+                         forall a t .+                           (TensorOp t t, Fullfilled "_broadcast_greater_equal" t a,+                            HasCallStack) =>+                           ArgsHMap "_broadcast_greater_equal" t a -> TensorApply t+_broadcast_greater_equal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_greater_equal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_hypot" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_hypot ::+                 forall a t .+                   (TensorOp t t, Fullfilled "_broadcast_hypot" t a, HasCallStack) =>+                   ArgsHMap "_broadcast_hypot" t a -> TensorApply t+_broadcast_hypot args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_hypot" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_lesser" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_lesser ::+                  forall a t .+                    (TensorOp t t, Fullfilled "_broadcast_lesser" t a, HasCallStack) =>+                    ArgsHMap "_broadcast_lesser" t a -> TensorApply t+_broadcast_lesser args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_lesser" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_lesser_equal" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_lesser_equal ::+                        forall a t .+                          (TensorOp t t, Fullfilled "_broadcast_lesser_equal" t a,+                           HasCallStack) =>+                          ArgsHMap "_broadcast_lesser_equal" t a -> TensorApply t+_broadcast_lesser_equal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_lesser_equal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_like" t =+     '[ '("lhs_axes", AttrOpt (Maybe [Int])),+        '("rhs_axes", AttrOpt (Maybe [Int])), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++_broadcast_like ::+                forall a t .+                  (TensorOp t t, Fullfilled "_broadcast_like" t a, HasCallStack) =>+                  ArgsHMap "_broadcast_like" t a -> TensorApply t+_broadcast_like args+  = let scalarArgs+          = catMaybes+              [("lhs_axes",) . showValue <$>+                 (args !? #lhs_axes :: Maybe (Maybe [Int])),+               ("rhs_axes",) . showValue <$>+                 (args !? #rhs_axes :: Maybe (Maybe [Int]))]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_like" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_logical_and" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_logical_and ::+                       forall a t .+                         (TensorOp t t, Fullfilled "_broadcast_logical_and" t a,+                          HasCallStack) =>+                         ArgsHMap "_broadcast_logical_and" t a -> TensorApply t+_broadcast_logical_and args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_logical_and" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_logical_or" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_logical_or ::+                      forall a t .+                        (TensorOp t t, Fullfilled "_broadcast_logical_or" t a,+                         HasCallStack) =>+                        ArgsHMap "_broadcast_logical_or" t a -> TensorApply t+_broadcast_logical_or args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_logical_or" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_logical_xor" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_logical_xor ::+                       forall a t .+                         (TensorOp t t, Fullfilled "_broadcast_logical_xor" t a,+                          HasCallStack) =>+                         ArgsHMap "_broadcast_logical_xor" t a -> TensorApply t+_broadcast_logical_xor args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_logical_xor" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_maximum" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_maximum ::+                   forall a t .+                     (TensorOp t t, Fullfilled "_broadcast_maximum" t a,+                      HasCallStack) =>+                     ArgsHMap "_broadcast_maximum" t a -> TensorApply t+_broadcast_maximum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_maximum" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_minimum" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_minimum ::+                   forall a t .+                     (TensorOp t t, Fullfilled "_broadcast_minimum" t a,+                      HasCallStack) =>+                     ArgsHMap "_broadcast_minimum" t a -> TensorApply t+_broadcast_minimum args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_minimum" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_mod" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_mod ::+               forall a t .+                 (TensorOp t t, Fullfilled "_broadcast_mod" t a, HasCallStack) =>+                 ArgsHMap "_broadcast_mod" t a -> TensorApply t+_broadcast_mod args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_mod" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_mul" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_mul ::+               forall a t .+                 (TensorOp t t, Fullfilled "_broadcast_mul" t a, HasCallStack) =>+                 ArgsHMap "_broadcast_mul" t a -> TensorApply t+_broadcast_mul args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_mul" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_not_equal" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_not_equal ::+                     forall a t .+                       (TensorOp t t, Fullfilled "_broadcast_not_equal" t a,+                        HasCallStack) =>+                       ArgsHMap "_broadcast_not_equal" t a -> TensorApply t+_broadcast_not_equal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_not_equal" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_power" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_power ::+                 forall a t .+                   (TensorOp t t, Fullfilled "_broadcast_power" t a, HasCallStack) =>+                   ArgsHMap "_broadcast_power" t a -> TensorApply t+_broadcast_power args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_power" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_sub" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_broadcast_sub ::+               forall a t .+                 (TensorOp t t, Fullfilled "_broadcast_sub" t a, HasCallStack) =>+                 ArgsHMap "_broadcast_sub" t a -> TensorApply t+_broadcast_sub args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "broadcast_sub" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_broadcast_to" t =+     '[ '("shape", AttrOpt [Int]), '("data", AttrOpt t)]++_broadcast_to ::+              forall a t .+                (TensorOp t t, Fullfilled "_broadcast_to" t a, HasCallStack) =>+                ArgsHMap "_broadcast_to" t a -> TensorApply t+_broadcast_to args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "broadcast_to" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_cast_storage" t =+     '[ '("stype",+          AttrReq (EnumType '["csr", "default", "row_sparse"])),+        '("data", AttrOpt t)]++_cast_storage ::+              forall a t .+                (TensorOp t t, Fullfilled "_cast_storage" t a, HasCallStack) =>+                ArgsHMap "_cast_storage" t a -> TensorApply t+_cast_storage args+  = let scalarArgs+          = catMaybes+              [("stype",) . showValue <$>+                 (args !? #stype ::+                    Maybe (EnumType '["csr", "default", "row_sparse"]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "cast_storage" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_cbrt" t = '[ '("data", AttrOpt t)]++_cbrt ::+      forall a t .+        (TensorOp t t, Fullfilled "_cbrt" t a, HasCallStack) =>+        ArgsHMap "_cbrt" t a -> TensorApply t+_cbrt args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "cbrt" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_ceil" t = '[ '("data", AttrOpt t)]++_ceil ::+      forall a t .+        (TensorOp t t, Fullfilled "_ceil" t a, HasCallStack) =>+        ArgsHMap "_ceil" t a -> TensorApply t+_ceil args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "ceil" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_clip" t =+     '[ '("a_min", AttrReq Float), '("a_max", AttrReq Float),+        '("data", AttrOpt t)]++_clip ::+      forall a t .+        (TensorOp t t, Fullfilled "_clip" t a, HasCallStack) =>+        ArgsHMap "_clip" t a -> TensorApply t+_clip args+  = let scalarArgs+          = catMaybes+              [("a_min",) . showValue <$> (args !? #a_min :: Maybe Float),+               ("a_max",) . showValue <$> (args !? #a_max :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "clip" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_cos" t = '[ '("data", AttrOpt t)]++_cos ::+     forall a t . (TensorOp t t, Fullfilled "_cos" t a, HasCallStack) =>+       ArgsHMap "_cos" t a -> TensorApply t+_cos args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "cos" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_cosh" t = '[ '("data", AttrOpt t)]++_cosh ::+      forall a t .+        (TensorOp t t, Fullfilled "_cosh" t a, HasCallStack) =>+        ArgsHMap "_cosh" t a -> TensorApply t+_cosh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "cosh" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_degrees" t = '[ '("data", AttrOpt t)]++_degrees ::+         forall a t .+           (TensorOp t t, Fullfilled "_degrees" t a, HasCallStack) =>+           ArgsHMap "_degrees" t a -> TensorApply t+_degrees args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "degrees" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_depth_to_space" t =+     '[ '("block_size", AttrReq Int), '("data", AttrOpt t)]++_depth_to_space ::+                forall a t .+                  (TensorOp t t, Fullfilled "_depth_to_space" t a, HasCallStack) =>+                  ArgsHMap "_depth_to_space" t a -> TensorApply t+_depth_to_space args+  = let scalarArgs+          = catMaybes+              [("block_size",) . showValue <$>+                 (args !? #block_size :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "depth_to_space" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_diag" t =+     '[ '("k", AttrOpt Int), '("axis1", AttrOpt Int),+        '("axis2", AttrOpt Int), '("data", AttrOpt t)]++_diag ::+      forall a t .+        (TensorOp t t, Fullfilled "_diag" t a, HasCallStack) =>+        ArgsHMap "_diag" t a -> TensorApply t+_diag args+  = let scalarArgs+          = catMaybes+              [("k",) . showValue <$> (args !? #k :: Maybe Int),+               ("axis1",) . showValue <$> (args !? #axis1 :: Maybe Int),+               ("axis2",) . showValue <$> (args !? #axis2 :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "diag" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_dot" t =+     '[ '("transpose_a", AttrOpt Bool), '("transpose_b", AttrOpt Bool),+        '("forward_stype",+          AttrOpt (Maybe (EnumType '["csr", "default", "row_sparse"]))),+        '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_dot ::+     forall a t . (TensorOp t t, Fullfilled "_dot" t a, HasCallStack) =>+       ArgsHMap "_dot" t a -> TensorApply t+_dot args+  = let scalarArgs+          = catMaybes+              [("transpose_a",) . showValue <$>+                 (args !? #transpose_a :: Maybe Bool),+               ("transpose_b",) . showValue <$>+                 (args !? #transpose_b :: Maybe Bool),+               ("forward_stype",) . showValue <$>+                 (args !? #forward_stype ::+                    Maybe (Maybe (EnumType '["csr", "default", "row_sparse"])))]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in apply "dot" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_elemwise_add" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_elemwise_add ::+              forall a t .+                (TensorOp t t, Fullfilled "_elemwise_add" t a, HasCallStack) =>+                ArgsHMap "_elemwise_add" t a -> TensorApply t+_elemwise_add args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "elemwise_add" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_elemwise_div" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_elemwise_div ::+              forall a t .+                (TensorOp t t, Fullfilled "_elemwise_div" t a, HasCallStack) =>+                ArgsHMap "_elemwise_div" t a -> TensorApply t+_elemwise_div args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "elemwise_div" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_elemwise_mul" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_elemwise_mul ::+              forall a t .+                (TensorOp t t, Fullfilled "_elemwise_mul" t a, HasCallStack) =>+                ArgsHMap "_elemwise_mul" t a -> TensorApply t+_elemwise_mul args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "elemwise_mul" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_elemwise_sub" t =+     '[ '("lhs", AttrOpt t), '("rhs", AttrOpt t)]++_elemwise_sub ::+              forall a t .+                (TensorOp t t, Fullfilled "_elemwise_sub" t a, HasCallStack) =>+                ArgsHMap "_elemwise_sub" t a -> TensorApply t+_elemwise_sub args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "elemwise_sub" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_erf" t = '[ '("data", AttrOpt t)]++_erf ::+     forall a t . (TensorOp t t, Fullfilled "_erf" t a, HasCallStack) =>+       ArgsHMap "_erf" t a -> TensorApply t+_erf args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "erf" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_erfinv" t = '[ '("data", AttrOpt t)]++_erfinv ::+        forall a t .+          (TensorOp t t, Fullfilled "_erfinv" t a, HasCallStack) =>+          ArgsHMap "_erfinv" t a -> TensorApply t+_erfinv args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "erfinv" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_exp" t = '[ '("data", AttrOpt t)]++_exp ::+     forall a t . (TensorOp t t, Fullfilled "_exp" t a, HasCallStack) =>+       ArgsHMap "_exp" t a -> TensorApply t+_exp args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "exp" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_expand_dims" t =+     '[ '("axis", AttrReq Int), '("data", AttrOpt t)]++_expand_dims ::+             forall a t .+               (TensorOp t t, Fullfilled "_expand_dims" t a, HasCallStack) =>+               ArgsHMap "_expand_dims" t a -> TensorApply t+_expand_dims args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "expand_dims" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_expm1" t = '[ '("data", AttrOpt t)]++_expm1 ::+       forall a t .+         (TensorOp t t, Fullfilled "_expm1" t a, HasCallStack) =>+         ArgsHMap "_expm1" t a -> TensorApply t+_expm1 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "expm1" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_fill_element_0index" t =+     '[ '("lhs", AttrOpt t), '("mhs", AttrOpt t), '("rhs", AttrOpt t)]++_fill_element_0index ::+                     forall a t .+                       (TensorOp t t, Fullfilled "_fill_element_0index" t a,+                        HasCallStack) =>+                       ArgsHMap "_fill_element_0index" t a -> TensorApply t+_fill_element_0index args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("mhs",) <$> (args !? #mhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "fill_element_0index" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_fix" t = '[ '("data", AttrOpt t)]++_fix ::+     forall a t . (TensorOp t t, Fullfilled "_fix" t a, HasCallStack) =>+       ArgsHMap "_fix" t a -> TensorApply t+_fix args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "fix" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_floor" t = '[ '("data", AttrOpt t)]++_floor ::+       forall a t .+         (TensorOp t t, Fullfilled "_floor" t a, HasCallStack) =>+         ArgsHMap "_floor" t a -> TensorApply t+_floor args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "floor" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_ftml_update" t =+     '[ '("lr", AttrReq Float), '("beta1", AttrOpt Float),+        '("beta2", AttrOpt Float), '("epsilon", AttrOpt Double),+        '("t", AttrReq Int), '("wd", AttrOpt Float),+        '("rescale_grad", AttrOpt Float), '("clip_grad", AttrOpt Float),+        '("weight", AttrOpt t), '("grad", AttrOpt t), '("d", AttrOpt t),+        '("v", AttrOpt t), '("z", AttrOpt t)]++_ftml_update ::+             forall a t .+               (TensorOp t t, Fullfilled "_ftml_update" t a, HasCallStack) =>+               ArgsHMap "_ftml_update" t a -> TensorApply t+_ftml_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),+               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),+               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Double),+               ("t",) . showValue <$> (args !? #t :: Maybe Int),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_grad",) . showValue <$> (args !? #clip_grad :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("d",) <$> (args !? #d :: Maybe t),+               ("v",) <$> (args !? #v :: Maybe t),+               ("z",) <$> (args !? #z :: Maybe t)]+      in+      apply "ftml_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_ftrl_update" t =+     '[ '("lr", AttrReq Float), '("lamda1", AttrOpt Float),+        '("beta", AttrOpt Float), '("wd", AttrOpt Float),+        '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("weight", AttrOpt t),+        '("grad", AttrOpt t), '("z", AttrOpt t), '("n", AttrOpt t)]++_ftrl_update ::+             forall a t .+               (TensorOp t t, Fullfilled "_ftrl_update" t a, HasCallStack) =>+               ArgsHMap "_ftrl_update" t a -> TensorApply t+_ftrl_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("lamda1",) . showValue <$> (args !? #lamda1 :: Maybe Float),+               ("beta",) . showValue <$> (args !? #beta :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("z",) <$> (args !? #z :: Maybe t),+               ("n",) <$> (args !? #n :: Maybe t)]+      in+      apply "ftrl_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_gamma" t = '[ '("data", AttrOpt t)]++_gamma ::+       forall a t .+         (TensorOp t t, Fullfilled "_gamma" t a, HasCallStack) =>+         ArgsHMap "_gamma" t a -> TensorApply t+_gamma args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "gamma" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_gammaln" t = '[ '("data", AttrOpt t)]++_gammaln ::+         forall a t .+           (TensorOp t t, Fullfilled "_gammaln" t a, HasCallStack) =>+           ArgsHMap "_gammaln" t a -> TensorApply t+_gammaln args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "gammaln" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_gather_nd" t =+     '[ '("data", AttrOpt t), '("indices", AttrOpt t)]++_gather_nd ::+           forall a t .+             (TensorOp t t, Fullfilled "_gather_nd" t a, HasCallStack) =>+             ArgsHMap "_gather_nd" t a -> TensorApply t+_gather_nd args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("indices",) <$> (args !? #indices :: Maybe t)]+      in+      apply "gather_nd" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_hard_sigmoid" t =+     '[ '("alpha", AttrOpt Float), '("beta", AttrOpt Float),+        '("data", AttrOpt t)]++_hard_sigmoid ::+              forall a t .+                (TensorOp t t, Fullfilled "_hard_sigmoid" t a, HasCallStack) =>+                ArgsHMap "_hard_sigmoid" t a -> TensorApply t+_hard_sigmoid args+  = let scalarArgs+          = catMaybes+              [("alpha",) . showValue <$> (args !? #alpha :: Maybe Float),+               ("beta",) . showValue <$> (args !? #beta :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "hard_sigmoid" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_khatri_rao" t =+     '[ '("args", AttrOpt [t])]++_khatri_rao ::+            forall a t .+              (TensorOp t t, Fullfilled "_khatri_rao" t a, HasCallStack) =>+              ArgsHMap "_khatri_rao" t a -> TensorApply t+_khatri_rao args+  = let scalarArgs+          = catMaybes [Just ("num_args", showValue (length tensorVarArgs))]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #args :: Maybe [t])+      in apply "khatri_rao" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_lamb_update_phase1" t =+     '[ '("beta1", AttrOpt Float), '("beta2", AttrOpt Float),+        '("epsilon", AttrOpt Float), '("t", AttrReq Int),+        '("bias_correction", AttrOpt Bool), '("wd", AttrReq Float),+        '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("weight", AttrOpt t),+        '("grad", AttrOpt t), '("mean", AttrOpt t), '("var", AttrOpt t)]++_lamb_update_phase1 ::+                    forall a t .+                      (TensorOp t t, Fullfilled "_lamb_update_phase1" t a,+                       HasCallStack) =>+                      ArgsHMap "_lamb_update_phase1" t a -> TensorApply t+_lamb_update_phase1 args+  = let scalarArgs+          = catMaybes+              [("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),+               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),+               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),+               ("t",) . showValue <$> (args !? #t :: Maybe Int),+               ("bias_correction",) . showValue <$>+                 (args !? #bias_correction :: Maybe Bool),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("mean",) <$> (args !? #mean :: Maybe t),+               ("var",) <$> (args !? #var :: Maybe t)]+      in+      apply "lamb_update_phase1" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_lamb_update_phase2" t =+     '[ '("lr", AttrReq Float), '("lower_bound", AttrOpt Float),+        '("upper_bound", AttrOpt Float), '("weight", AttrOpt t),+        '("g", AttrOpt t), '("r1", AttrOpt t), '("r2", AttrOpt t)]++_lamb_update_phase2 ::+                    forall a t .+                      (TensorOp t t, Fullfilled "_lamb_update_phase2" t a,+                       HasCallStack) =>+                      ArgsHMap "_lamb_update_phase2" t a -> TensorApply t+_lamb_update_phase2 args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("lower_bound",) . showValue <$>+                 (args !? #lower_bound :: Maybe Float),+               ("upper_bound",) . showValue <$>+                 (args !? #upper_bound :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("g",) <$> (args !? #g :: Maybe t),+               ("r1",) <$> (args !? #r1 :: Maybe t),+               ("r2",) <$> (args !? #r2 :: Maybe t)]+      in+      apply "lamb_update_phase2" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_log" t = '[ '("data", AttrOpt t)]++_log ::+     forall a t . (TensorOp t t, Fullfilled "_log" t a, HasCallStack) =>+       ArgsHMap "_log" t a -> TensorApply t+_log args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "log" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_log10" t = '[ '("data", AttrOpt t)]++_log10 ::+       forall a t .+         (TensorOp t t, Fullfilled "_log10" t a, HasCallStack) =>+         ArgsHMap "_log10" t a -> TensorApply t+_log10 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "log10" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_log1p" t = '[ '("data", AttrOpt t)]++_log1p ::+       forall a t .+         (TensorOp t t, Fullfilled "_log1p" t a, HasCallStack) =>+         ArgsHMap "_log1p" t a -> TensorApply t+_log1p args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "log1p" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_log2" t = '[ '("data", AttrOpt t)]++_log2 ::+      forall a t .+        (TensorOp t t, Fullfilled "_log2" t a, HasCallStack) =>+        ArgsHMap "_log2" t a -> TensorApply t+_log2 args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "log2" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_log_softmax" t =+     '[ '("axis", AttrOpt Int),+        '("temperature", AttrOpt (Maybe Double)),+        '("dtype",+          AttrOpt (Maybe (EnumType '["float16", "float32", "float64"]))),+        '("use_length", AttrOpt (Maybe Bool)), '("data", AttrOpt t)]++_log_softmax ::+             forall a t .+               (TensorOp t t, Fullfilled "_log_softmax" t a, HasCallStack) =>+               ArgsHMap "_log_softmax" t a -> TensorApply t+_log_softmax args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("temperature",) . showValue <$>+                 (args !? #temperature :: Maybe (Maybe Double)),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (Maybe (EnumType '["float16", "float32", "float64"]))),+               ("use_length",) . showValue <$>+                 (args !? #use_length :: Maybe (Maybe Bool))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "log_softmax" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_logical_not" t =+     '[ '("data", AttrOpt t)]++_logical_not ::+             forall a t .+               (TensorOp t t, Fullfilled "_logical_not" t a, HasCallStack) =>+               ArgsHMap "_logical_not" t a -> TensorApply t+_logical_not args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "logical_not" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_make_loss" t =+     '[ '("data", AttrOpt t)]++_make_loss ::+           forall a t .+             (TensorOp t t, Fullfilled "_make_loss" t a, HasCallStack) =>+             ArgsHMap "_make_loss" t a -> TensorApply t+_make_loss args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "make_loss" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_max" t =+     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),+        '("exclude", AttrOpt Bool), '("data", AttrOpt t)]++_max ::+     forall a t . (TensorOp t t, Fullfilled "_max" t a, HasCallStack) =>+       ArgsHMap "_max" t a -> TensorApply t+_max args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "max" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_mean" t =+     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),+        '("exclude", AttrOpt Bool), '("data", AttrOpt t)]++_mean ::+      forall a t .+        (TensorOp t t, Fullfilled "_mean" t a, HasCallStack) =>+        ArgsHMap "_mean" t a -> TensorApply t+_mean args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "mean" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_min" t =+     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),+        '("exclude", AttrOpt Bool), '("data", AttrOpt t)]++_min ::+     forall a t . (TensorOp t t, Fullfilled "_min" t a, HasCallStack) =>+       ArgsHMap "_min" t a -> TensorApply t+_min args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "min" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_moments" t =+     '[ '("axes", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),+        '("data", AttrOpt t)]++_moments ::+         forall a t .+           (TensorOp t t, Fullfilled "_moments" t a, HasCallStack) =>+           ArgsHMap "_moments" t a -> TensorApply t+_moments args+  = let scalarArgs+          = catMaybes+              [("axes",) . showValue <$> (args !? #axes :: Maybe (Maybe [Int])),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "moments" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_mp_lamb_update_phase1" t =+     '[ '("beta1", AttrOpt Float), '("beta2", AttrOpt Float),+        '("epsilon", AttrOpt Float), '("t", AttrReq Int),+        '("bias_correction", AttrOpt Bool), '("wd", AttrReq Float),+        '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("weight", AttrOpt t),+        '("grad", AttrOpt t), '("mean", AttrOpt t), '("var", AttrOpt t),+        '("weight32", AttrOpt t)]++_mp_lamb_update_phase1 ::+                       forall a t .+                         (TensorOp t t, Fullfilled "_mp_lamb_update_phase1" t a,+                          HasCallStack) =>+                         ArgsHMap "_mp_lamb_update_phase1" t a -> TensorApply t+_mp_lamb_update_phase1 args+  = let scalarArgs+          = catMaybes+              [("beta1",) . showValue <$> (args !? #beta1 :: Maybe Float),+               ("beta2",) . showValue <$> (args !? #beta2 :: Maybe Float),+               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),+               ("t",) . showValue <$> (args !? #t :: Maybe Int),+               ("bias_correction",) . showValue <$>+                 (args !? #bias_correction :: Maybe Bool),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("mean",) <$> (args !? #mean :: Maybe t),+               ("var",) <$> (args !? #var :: Maybe t),+               ("weight32",) <$> (args !? #weight32 :: Maybe t)]+      in+      apply "mp_lamb_update_phase1" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_mp_lamb_update_phase2" t =+     '[ '("lr", AttrReq Float), '("lower_bound", AttrOpt Float),+        '("upper_bound", AttrOpt Float), '("weight", AttrOpt t),+        '("g", AttrOpt t), '("r1", AttrOpt t), '("r2", AttrOpt t),+        '("weight32", AttrOpt t)]++_mp_lamb_update_phase2 ::+                       forall a t .+                         (TensorOp t t, Fullfilled "_mp_lamb_update_phase2" t a,+                          HasCallStack) =>+                         ArgsHMap "_mp_lamb_update_phase2" t a -> TensorApply t+_mp_lamb_update_phase2 args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("lower_bound",) . showValue <$>+                 (args !? #lower_bound :: Maybe Float),+               ("upper_bound",) . showValue <$>+                 (args !? #upper_bound :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("g",) <$> (args !? #g :: Maybe t),+               ("r1",) <$> (args !? #r1 :: Maybe t),+               ("r2",) <$> (args !? #r2 :: Maybe t),+               ("weight32",) <$> (args !? #weight32 :: Maybe t)]+      in+      apply "mp_lamb_update_phase2" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_mp_nag_mom_update" t =+     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),+        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("weight", AttrOpt t),+        '("grad", AttrOpt t), '("mom", AttrOpt t),+        '("weight32", AttrOpt t)]++_mp_nag_mom_update ::+                   forall a t .+                     (TensorOp t t, Fullfilled "_mp_nag_mom_update" t a,+                      HasCallStack) =>+                     ArgsHMap "_mp_nag_mom_update" t a -> TensorApply t+_mp_nag_mom_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("mom",) <$> (args !? #mom :: Maybe t),+               ("weight32",) <$> (args !? #weight32 :: Maybe t)]+      in+      apply "mp_nag_mom_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_mp_sgd_mom_update" t =+     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),+        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),+        '("weight", AttrOpt t), '("grad", AttrOpt t), '("mom", AttrOpt t),+        '("weight32", AttrOpt t)]++_mp_sgd_mom_update ::+                   forall a t .+                     (TensorOp t t, Fullfilled "_mp_sgd_mom_update" t a,+                      HasCallStack) =>+                     ArgsHMap "_mp_sgd_mom_update" t a -> TensorApply t+_mp_sgd_mom_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("lazy_update",) . showValue <$>+                 (args !? #lazy_update :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("mom",) <$> (args !? #mom :: Maybe t),+               ("weight32",) <$> (args !? #weight32 :: Maybe t)]+      in+      apply "mp_sgd_mom_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_mp_sgd_update" t =+     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),+        '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),+        '("weight", AttrOpt t), '("grad", AttrOpt t),+        '("weight32", AttrOpt t)]++_mp_sgd_update ::+               forall a t .+                 (TensorOp t t, Fullfilled "_mp_sgd_update" t a, HasCallStack) =>+                 ArgsHMap "_mp_sgd_update" t a -> TensorApply t+_mp_sgd_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("lazy_update",) . showValue <$>+                 (args !? #lazy_update :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("weight32",) <$> (args !? #weight32 :: Maybe t)]+      in+      apply "mp_sgd_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_multi_all_finite" t =+     '[ '("num_arrays", AttrOpt Int), '("init_output", AttrOpt Bool),+        '("data", AttrOpt [t])]++_multi_all_finite ::+                  forall a t .+                    (TensorOp t t, Fullfilled "_multi_all_finite" t a, HasCallStack) =>+                    ArgsHMap "_multi_all_finite" t a -> TensorApply t+_multi_all_finite args+  = let scalarArgs+          = catMaybes+              [("num_arrays",) . showValue <$>+                 (args !? #num_arrays :: Maybe Int),+               ("init_output",) . showValue <$>+                 (args !? #init_output :: Maybe Bool)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "multi_all_finite" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_multi_lars" t =+     '[ '("eta", AttrReq Float), '("eps", AttrReq Float),+        '("rescale_grad", AttrOpt Float), '("lrs", AttrOpt t),+        '("weights_sum_sq", AttrOpt t), '("grads_sum_sq", AttrOpt t),+        '("wds", AttrOpt t)]++_multi_lars ::+            forall a t .+              (TensorOp t t, Fullfilled "_multi_lars" t a, HasCallStack) =>+              ArgsHMap "_multi_lars" t a -> TensorApply t+_multi_lars args+  = let scalarArgs+          = catMaybes+              [("eta",) . showValue <$> (args !? #eta :: Maybe Float),+               ("eps",) . showValue <$> (args !? #eps :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("lrs",) <$> (args !? #lrs :: Maybe t),+               ("weights_sum_sq",) <$> (args !? #weights_sum_sq :: Maybe t),+               ("grads_sum_sq",) <$> (args !? #grads_sum_sq :: Maybe t),+               ("wds",) <$> (args !? #wds :: Maybe t)]+      in+      apply "multi_lars" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_multi_mp_sgd_mom_update" t =+     '[ '("lrs", AttrReq [Float]), '("wds", AttrReq [Float]),+        '("momentum", AttrOpt Float), '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),+        '("data", AttrOpt [t])]++_multi_mp_sgd_mom_update ::+                         forall a t .+                           (TensorOp t t, Fullfilled "_multi_mp_sgd_mom_update" t a,+                            HasCallStack) =>+                           ArgsHMap "_multi_mp_sgd_mom_update" t a -> TensorApply t+_multi_mp_sgd_mom_update args+  = let scalarArgs+          = catMaybes+              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),+               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),+               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("num_weights",) . showValue <$>+                 (args !? #num_weights :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "multi_mp_sgd_mom_update" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_multi_mp_sgd_update" t =+     '[ '("lrs", AttrReq [Float]), '("wds", AttrReq [Float]),+        '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),+        '("data", AttrOpt [t])]++_multi_mp_sgd_update ::+                     forall a t .+                       (TensorOp t t, Fullfilled "_multi_mp_sgd_update" t a,+                        HasCallStack) =>+                       ArgsHMap "_multi_mp_sgd_update" t a -> TensorApply t+_multi_mp_sgd_update args+  = let scalarArgs+          = catMaybes+              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),+               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("num_weights",) . showValue <$>+                 (args !? #num_weights :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "multi_mp_sgd_update" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_multi_sgd_mom_update" t =+     '[ '("lrs", AttrReq [Float]), '("wds", AttrReq [Float]),+        '("momentum", AttrOpt Float), '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),+        '("data", AttrOpt [t])]++_multi_sgd_mom_update ::+                      forall a t .+                        (TensorOp t t, Fullfilled "_multi_sgd_mom_update" t a,+                         HasCallStack) =>+                        ArgsHMap "_multi_sgd_mom_update" t a -> TensorApply t+_multi_sgd_mom_update args+  = let scalarArgs+          = catMaybes+              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),+               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),+               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("num_weights",) . showValue <$>+                 (args !? #num_weights :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "multi_sgd_mom_update" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_multi_sgd_update" t =+     '[ '("lrs", AttrReq [Float]), '("wds", AttrReq [Float]),+        '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),+        '("data", AttrOpt [t])]++_multi_sgd_update ::+                  forall a t .+                    (TensorOp t t, Fullfilled "_multi_sgd_update" t a, HasCallStack) =>+                    ArgsHMap "_multi_sgd_update" t a -> TensorApply t+_multi_sgd_update args+  = let scalarArgs+          = catMaybes+              [("lrs",) . showValue <$> (args !? #lrs :: Maybe [Float]),+               ("wds",) . showValue <$> (args !? #wds :: Maybe [Float]),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("num_weights",) . showValue <$>+                 (args !? #num_weights :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "multi_sgd_update" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_multi_sum_sq" t =+     '[ '("num_arrays", AttrReq Int), '("data", AttrOpt [t])]++_multi_sum_sq ::+              forall a t .+                (TensorOp t t, Fullfilled "_multi_sum_sq" t a, HasCallStack) =>+                ArgsHMap "_multi_sum_sq" t a -> TensorApply t+_multi_sum_sq args+  = let scalarArgs+          = catMaybes+              [("num_arrays",) . showValue <$>+                 (args !? #num_arrays :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "multi_sum_sq" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_nag_mom_update" t =+     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),+        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("weight", AttrOpt t),+        '("grad", AttrOpt t), '("mom", AttrOpt t)]++_nag_mom_update ::+                forall a t .+                  (TensorOp t t, Fullfilled "_nag_mom_update" t a, HasCallStack) =>+                  ArgsHMap "_nag_mom_update" t a -> TensorApply t+_nag_mom_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("mom",) <$> (args !? #mom :: Maybe t)]+      in+      apply "nag_mom_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_nanprod" t =+     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),+        '("exclude", AttrOpt Bool), '("data", AttrOpt t)]++_nanprod ::+         forall a t .+           (TensorOp t t, Fullfilled "_nanprod" t a, HasCallStack) =>+           ArgsHMap "_nanprod" t a -> TensorApply t+_nanprod args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "nanprod" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_nansum" t =+     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),+        '("exclude", AttrOpt Bool), '("data", AttrOpt t)]++_nansum ::+        forall a t .+          (TensorOp t t, Fullfilled "_nansum" t a, HasCallStack) =>+          ArgsHMap "_nansum" t a -> TensorApply t+_nansum args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "nansum" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_negative" t =+     '[ '("data", AttrOpt t)]++_negative ::+          forall a t .+            (TensorOp t t, Fullfilled "_negative" t a, HasCallStack) =>+            ArgsHMap "_negative" t a -> TensorApply t+_negative args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "negative" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_norm" t =+     '[ '("ord", AttrOpt Int), '("axis", AttrOpt (Maybe [Int])),+        '("out_dtype",+          AttrOpt+            (Maybe+               (EnumType+                  '["float16", "float32", "float64", "int32", "int64", "int8"]))),+        '("keepdims", AttrOpt Bool), '("data", AttrOpt t)]++_norm ::+      forall a t .+        (TensorOp t t, Fullfilled "_norm" t a, HasCallStack) =>+        ArgsHMap "_norm" t a -> TensorApply t+_norm args+  = let scalarArgs+          = catMaybes+              [("ord",) . showValue <$> (args !? #ord :: Maybe Int),+               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("out_dtype",) . showValue <$>+                 (args !? #out_dtype ::+                    Maybe+                      (Maybe+                         (EnumType+                            '["float16", "float32", "float64", "int32", "int64", "int8"]))),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "norm" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_one_hot" t =+     '[ '("depth", AttrReq Int), '("on_value", AttrOpt Double),+        '("off_value", AttrOpt Double),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "int8",+                 "uint8"])),+        '("indices", AttrOpt t)]++_one_hot ::+         forall a t .+           (TensorOp t t, Fullfilled "_one_hot" t a, HasCallStack) =>+           ArgsHMap "_one_hot" t a -> TensorApply t+_one_hot args+  = let scalarArgs+          = catMaybes+              [("depth",) . showValue <$> (args !? #depth :: Maybe Int),+               ("on_value",) . showValue <$> (args !? #on_value :: Maybe Double),+               ("off_value",) . showValue <$>+                 (args !? #off_value :: Maybe Double),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "int8",+                           "uint8"]))]+        tensorKeyArgs+          = catMaybes [("indices",) <$> (args !? #indices :: Maybe t)]+      in apply "one_hot" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_ones_like" t =+     '[ '("data", AttrOpt t)]++_ones_like ::+           forall a t .+             (TensorOp t t, Fullfilled "_ones_like" t a, HasCallStack) =>+             ArgsHMap "_ones_like" t a -> TensorApply t+_ones_like args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "ones_like" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_pick" t =+     '[ '("axis", AttrOpt (Maybe Int)), '("keepdims", AttrOpt Bool),+        '("mode", AttrOpt (EnumType '["clip", "wrap"])),+        '("data", AttrOpt t), '("index", AttrOpt t)]++_pick ::+      forall a t .+        (TensorOp t t, Fullfilled "_pick" t a, HasCallStack) =>+        ArgsHMap "_pick" t a -> TensorApply t+_pick args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("mode",) . showValue <$>+                 (args !? #mode :: Maybe (EnumType '["clip", "wrap"]))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("index",) <$> (args !? #index :: Maybe t)]+      in apply "pick" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_preloaded_multi_mp_sgd_mom_update" t+     =+     '[ '("momentum", AttrOpt Float), '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),+        '("data", AttrOpt [t])]++_preloaded_multi_mp_sgd_mom_update ::+                                   forall a t .+                                     (TensorOp t t,+                                      Fullfilled "_preloaded_multi_mp_sgd_mom_update" t a,+                                      HasCallStack) =>+                                     ArgsHMap "_preloaded_multi_mp_sgd_mom_update" t a ->+                                       TensorApply t+_preloaded_multi_mp_sgd_mom_update args+  = let scalarArgs+          = catMaybes+              [("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("num_weights",) . showValue <$>+                 (args !? #num_weights :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in+      apply "preloaded_multi_mp_sgd_mom_update" scalarArgs+        (Right tensorVarArgs)++type instance ParameterList "_preloaded_multi_mp_sgd_update" t =+     '[ '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),+        '("data", AttrOpt [t])]++_preloaded_multi_mp_sgd_update ::+                               forall a t .+                                 (TensorOp t t, Fullfilled "_preloaded_multi_mp_sgd_update" t a,+                                  HasCallStack) =>+                                 ArgsHMap "_preloaded_multi_mp_sgd_update" t a -> TensorApply t+_preloaded_multi_mp_sgd_update args+  = let scalarArgs+          = catMaybes+              [("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("num_weights",) . showValue <$>+                 (args !? #num_weights :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in+      apply "preloaded_multi_mp_sgd_update" scalarArgs+        (Right tensorVarArgs)++type instance ParameterList "_preloaded_multi_sgd_mom_update" t =+     '[ '("momentum", AttrOpt Float), '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),+        '("data", AttrOpt [t])]++_preloaded_multi_sgd_mom_update ::+                                forall a t .+                                  (TensorOp t t, Fullfilled "_preloaded_multi_sgd_mom_update" t a,+                                   HasCallStack) =>+                                  ArgsHMap "_preloaded_multi_sgd_mom_update" t a -> TensorApply t+_preloaded_multi_sgd_mom_update args+  = let scalarArgs+          = catMaybes+              [("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("num_weights",) . showValue <$>+                 (args !? #num_weights :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in+      apply "preloaded_multi_sgd_mom_update" scalarArgs+        (Right tensorVarArgs)++type instance ParameterList "_preloaded_multi_sgd_update" t =+     '[ '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("num_weights", AttrOpt Int),+        '("data", AttrOpt [t])]++_preloaded_multi_sgd_update ::+                            forall a t .+                              (TensorOp t t, Fullfilled "_preloaded_multi_sgd_update" t a,+                               HasCallStack) =>+                              ArgsHMap "_preloaded_multi_sgd_update" t a -> TensorApply t+_preloaded_multi_sgd_update args+  = let scalarArgs+          = catMaybes+              [("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("num_weights",) . showValue <$>+                 (args !? #num_weights :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in+      apply "preloaded_multi_sgd_update" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_prod" t =+     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),+        '("exclude", AttrOpt Bool), '("data", AttrOpt t)]++_prod ::+      forall a t .+        (TensorOp t t, Fullfilled "_prod" t a, HasCallStack) =>+        ArgsHMap "_prod" t a -> TensorApply t+_prod args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "prod" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_radians" t = '[ '("data", AttrOpt t)]++_radians ::+         forall a t .+           (TensorOp t t, Fullfilled "_radians" t a, HasCallStack) =>+           ArgsHMap "_radians" t a -> TensorApply t+_radians args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "radians" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_rcbrt" t = '[ '("data", AttrOpt t)]++_rcbrt ::+       forall a t .+         (TensorOp t t, Fullfilled "_rcbrt" t a, HasCallStack) =>+         ArgsHMap "_rcbrt" t a -> TensorApply t+_rcbrt args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "rcbrt" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_reciprocal" t =+     '[ '("data", AttrOpt t)]++_reciprocal ::+            forall a t .+              (TensorOp t t, Fullfilled "_reciprocal" t a, HasCallStack) =>+              ArgsHMap "_reciprocal" t a -> TensorApply t+_reciprocal args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "reciprocal" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_relu" t = '[ '("data", AttrOpt t)]++_relu ::+      forall a t .+        (TensorOp t t, Fullfilled "_relu" t a, HasCallStack) =>+        ArgsHMap "_relu" t a -> TensorApply t+_relu args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "relu" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_repeat" t =+     '[ '("repeats", AttrReq Int), '("axis", AttrOpt (Maybe Int)),+        '("data", AttrOpt t)]++_repeat ::+        forall a t .+          (TensorOp t t, Fullfilled "_repeat" t a, HasCallStack) =>+          ArgsHMap "_repeat" t a -> TensorApply t+_repeat args+  = let scalarArgs+          = catMaybes+              [("repeats",) . showValue <$> (args !? #repeats :: Maybe Int),+               ("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "repeat" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_reset_arrays" t =+     '[ '("num_arrays", AttrReq Int), '("data", AttrOpt [t])]++_reset_arrays ::+              forall a t .+                (TensorOp t t, Fullfilled "_reset_arrays" t a, HasCallStack) =>+                ArgsHMap "_reset_arrays" t a -> TensorApply t+_reset_arrays args+  = let scalarArgs+          = catMaybes+              [("num_arrays",) . showValue <$>+                 (args !? #num_arrays :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "reset_arrays" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_reshape_like" t =+     '[ '("lhs_begin", AttrOpt (Maybe Int)),+        '("lhs_end", AttrOpt (Maybe Int)),+        '("rhs_begin", AttrOpt (Maybe Int)),+        '("rhs_end", AttrOpt (Maybe Int)), '("lhs", AttrOpt t),+        '("rhs", AttrOpt t)]++_reshape_like ::+              forall a t .+                (TensorOp t t, Fullfilled "_reshape_like" t a, HasCallStack) =>+                ArgsHMap "_reshape_like" t a -> TensorApply t+_reshape_like args+  = let scalarArgs+          = catMaybes+              [("lhs_begin",) . showValue <$>+                 (args !? #lhs_begin :: Maybe (Maybe Int)),+               ("lhs_end",) . showValue <$>+                 (args !? #lhs_end :: Maybe (Maybe Int)),+               ("rhs_begin",) . showValue <$>+                 (args !? #rhs_begin :: Maybe (Maybe Int)),+               ("rhs_end",) . showValue <$>+                 (args !? #rhs_end :: Maybe (Maybe Int))]+        tensorKeyArgs+          = catMaybes+              [("lhs",) <$> (args !? #lhs :: Maybe t),+               ("rhs",) <$> (args !? #rhs :: Maybe t)]+      in+      apply "reshape_like" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_reverse" t =+     '[ '("axis", AttrReq [Int]), '("data", AttrOpt t)]++_reverse ::+         forall a t .+           (TensorOp t t, Fullfilled "_reverse" t a, HasCallStack) =>+           ArgsHMap "_reverse" t a -> TensorApply t+_reverse args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "reverse" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_rint" t = '[ '("data", AttrOpt t)]++_rint ::+      forall a t .+        (TensorOp t t, Fullfilled "_rint" t a, HasCallStack) =>+        ArgsHMap "_rint" t a -> TensorApply t+_rint args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "rint" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_rmsprop_update" t =+     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),+        '("epsilon", AttrOpt Float), '("wd", AttrOpt Float),+        '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float),+        '("clip_weights", AttrOpt Float), '("weight", AttrOpt t),+        '("grad", AttrOpt t), '("n", AttrOpt t)]++_rmsprop_update ::+                forall a t .+                  (TensorOp t t, Fullfilled "_rmsprop_update" t a, HasCallStack) =>+                  ArgsHMap "_rmsprop_update" t a -> TensorApply t+_rmsprop_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),+               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("clip_weights",) . showValue <$>+                 (args !? #clip_weights :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("n",) <$> (args !? #n :: Maybe t)]+      in+      apply "rmsprop_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_rmspropalex_update" t =+     '[ '("lr", AttrReq Float), '("gamma1", AttrOpt Float),+        '("gamma2", AttrOpt Float), '("epsilon", AttrOpt Float),+        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float),+        '("clip_weights", AttrOpt Float), '("weight", AttrOpt t),+        '("grad", AttrOpt t), '("n", AttrOpt t), '("g", AttrOpt t),+        '("delta", AttrOpt t)]++_rmspropalex_update ::+                    forall a t .+                      (TensorOp t t, Fullfilled "_rmspropalex_update" t a,+                       HasCallStack) =>+                      ArgsHMap "_rmspropalex_update" t a -> TensorApply t+_rmspropalex_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("gamma1",) . showValue <$> (args !? #gamma1 :: Maybe Float),+               ("gamma2",) . showValue <$> (args !? #gamma2 :: Maybe Float),+               ("epsilon",) . showValue <$> (args !? #epsilon :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("clip_weights",) . showValue <$>+                 (args !? #clip_weights :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("n",) <$> (args !? #n :: Maybe t),+               ("g",) <$> (args !? #g :: Maybe t),+               ("delta",) <$> (args !? #delta :: Maybe t)]+      in+      apply "rmspropalex_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_round" t = '[ '("data", AttrOpt t)]++_round ::+       forall a t .+         (TensorOp t t, Fullfilled "_round" t a, HasCallStack) =>+         ArgsHMap "_round" t a -> TensorApply t+_round args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "round" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_rsqrt" t = '[ '("data", AttrOpt t)]++_rsqrt ::+       forall a t .+         (TensorOp t t, Fullfilled "_rsqrt" t a, HasCallStack) =>+         ArgsHMap "_rsqrt" t a -> TensorApply t+_rsqrt args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "rsqrt" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_scatter_nd" t =+     '[ '("shape", AttrReq [Int]), '("data", AttrOpt t),+        '("indices", AttrOpt t)]++_scatter_nd ::+            forall a t .+              (TensorOp t t, Fullfilled "_scatter_nd" t a, HasCallStack) =>+              ArgsHMap "_scatter_nd" t a -> TensorApply t+_scatter_nd args+  = let scalarArgs+          = catMaybes+              [("shape",) . showValue <$> (args !? #shape :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("indices",) <$> (args !? #indices :: Maybe t)]+      in+      apply "scatter_nd" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_sgd_mom_update" t =+     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),+        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),+        '("weight", AttrOpt t), '("grad", AttrOpt t), '("mom", AttrOpt t)]++_sgd_mom_update ::+                forall a t .+                  (TensorOp t t, Fullfilled "_sgd_mom_update" t a, HasCallStack) =>+                  ArgsHMap "_sgd_mom_update" t a -> TensorApply t+_sgd_mom_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("lazy_update",) . showValue <$>+                 (args !? #lazy_update :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("mom",) <$> (args !? #mom :: Maybe t)]+      in+      apply "sgd_mom_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_sgd_update" t =+     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),+        '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("lazy_update", AttrOpt Bool),+        '("weight", AttrOpt t), '("grad", AttrOpt t)]++_sgd_update ::+            forall a t .+              (TensorOp t t, Fullfilled "_sgd_update" t a, HasCallStack) =>+              ArgsHMap "_sgd_update" t a -> TensorApply t+_sgd_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("lazy_update",) . showValue <$>+                 (args !? #lazy_update :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t)]+      in+      apply "sgd_update" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_shape_array" t =+     '[ '("data", AttrOpt t)]++_shape_array ::+             forall a t .+               (TensorOp t t, Fullfilled "_shape_array" t a, HasCallStack) =>+               ArgsHMap "_shape_array" t a -> TensorApply t+_shape_array args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "shape_array" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_sigmoid" t = '[ '("data", AttrOpt t)]++_sigmoid ::+         forall a t .+           (TensorOp t t, Fullfilled "_sigmoid" t a, HasCallStack) =>+           ArgsHMap "_sigmoid" t a -> TensorApply t+_sigmoid args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "sigmoid" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_sign" t = '[ '("data", AttrOpt t)]++_sign ::+      forall a t .+        (TensorOp t t, Fullfilled "_sign" t a, HasCallStack) =>+        ArgsHMap "_sign" t a -> TensorApply t+_sign args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "sign" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_signsgd_update" t =+     '[ '("lr", AttrReq Float), '("wd", AttrOpt Float),+        '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("weight", AttrOpt t),+        '("grad", AttrOpt t)]++_signsgd_update ::+                forall a t .+                  (TensorOp t t, Fullfilled "_signsgd_update" t a, HasCallStack) =>+                  ArgsHMap "_signsgd_update" t a -> TensorApply t+_signsgd_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t)]+      in+      apply "signsgd_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_signum_update" t =+     '[ '("lr", AttrReq Float), '("momentum", AttrOpt Float),+        '("wd", AttrOpt Float), '("rescale_grad", AttrOpt Float),+        '("clip_gradient", AttrOpt Float), '("wd_lh", AttrOpt Float),+        '("weight", AttrOpt t), '("grad", AttrOpt t), '("mom", AttrOpt t)]++_signum_update ::+               forall a t .+                 (TensorOp t t, Fullfilled "_signum_update" t a, HasCallStack) =>+                 ArgsHMap "_signum_update" t a -> TensorApply t+_signum_update args+  = let scalarArgs+          = catMaybes+              [("lr",) . showValue <$> (args !? #lr :: Maybe Float),+               ("momentum",) . showValue <$> (args !? #momentum :: Maybe Float),+               ("wd",) . showValue <$> (args !? #wd :: Maybe Float),+               ("rescale_grad",) . showValue <$>+                 (args !? #rescale_grad :: Maybe Float),+               ("clip_gradient",) . showValue <$>+                 (args !? #clip_gradient :: Maybe Float),+               ("wd_lh",) . showValue <$> (args !? #wd_lh :: Maybe Float)]+        tensorKeyArgs+          = catMaybes+              [("weight",) <$> (args !? #weight :: Maybe t),+               ("grad",) <$> (args !? #grad :: Maybe t),+               ("mom",) <$> (args !? #mom :: Maybe t)]+      in+      apply "signum_update" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_sin" t = '[ '("data", AttrOpt t)]++_sin ::+     forall a t . (TensorOp t t, Fullfilled "_sin" t a, HasCallStack) =>+       ArgsHMap "_sin" t a -> TensorApply t+_sin args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "sin" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_sinh" t = '[ '("data", AttrOpt t)]++_sinh ::+      forall a t .+        (TensorOp t t, Fullfilled "_sinh" t a, HasCallStack) =>+        ArgsHMap "_sinh" t a -> TensorApply t+_sinh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "sinh" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_size_array" t =+     '[ '("data", AttrOpt t)]++_size_array ::+            forall a t .+              (TensorOp t t, Fullfilled "_size_array" t a, HasCallStack) =>+              ArgsHMap "_size_array" t a -> TensorApply t+_size_array args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "size_array" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_slice" t =+     '[ '("begin", AttrReq [Int]), '("end", AttrReq [Int]),+        '("step", AttrOpt [Int]), '("data", AttrOpt t)]++_slice ::+       forall a t .+         (TensorOp t t, Fullfilled "_slice" t a, HasCallStack) =>+         ArgsHMap "_slice" t a -> TensorApply t+_slice args+  = let scalarArgs+          = catMaybes+              [("begin",) . showValue <$> (args !? #begin :: Maybe [Int]),+               ("end",) . showValue <$> (args !? #end :: Maybe [Int]),+               ("step",) . showValue <$> (args !? #step :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "slice" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_slice_axis" t =+     '[ '("axis", AttrReq Int), '("begin", AttrReq Int),+        '("end", AttrReq (Maybe Int)), '("data", AttrOpt t)]++_slice_axis ::+            forall a t .+              (TensorOp t t, Fullfilled "_slice_axis" t a, HasCallStack) =>+              ArgsHMap "_slice_axis" t a -> TensorApply t+_slice_axis args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("begin",) . showValue <$> (args !? #begin :: Maybe Int),+               ("end",) . showValue <$> (args !? #end :: Maybe (Maybe Int))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "slice_axis" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_slice_like" t =+     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt t),+        '("shape_like", AttrOpt t)]++_slice_like ::+            forall a t .+              (TensorOp t t, Fullfilled "_slice_like" t a, HasCallStack) =>+              ArgsHMap "_slice_like" t a -> TensorApply t+_slice_like args+  = let scalarArgs+          = catMaybes+              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("shape_like",) <$> (args !? #shape_like :: Maybe t)]+      in+      apply "slice_like" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_smooth_l1" t =+     '[ '("scalar", AttrOpt Float), '("data", AttrOpt t)]++_smooth_l1 ::+           forall a t .+             (TensorOp t t, Fullfilled "_smooth_l1" t a, HasCallStack) =>+             ArgsHMap "_smooth_l1" t a -> TensorApply t+_smooth_l1 args+  = let scalarArgs+          = catMaybes+              [("scalar",) . showValue <$> (args !? #scalar :: Maybe Float)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "smooth_l1" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_softmax" t =+     '[ '("axis", AttrOpt Int),+        '("temperature", AttrOpt (Maybe Double)),+        '("dtype",+          AttrOpt (Maybe (EnumType '["float16", "float32", "float64"]))),+        '("use_length", AttrOpt (Maybe Bool)), '("data", AttrOpt t),+        '("length", AttrOpt t)]++_softmax ::+         forall a t .+           (TensorOp t t, Fullfilled "_softmax" t a, HasCallStack) =>+           ArgsHMap "_softmax" t a -> TensorApply t+_softmax args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("temperature",) . showValue <$>+                 (args !? #temperature :: Maybe (Maybe Double)),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (Maybe (EnumType '["float16", "float32", "float64"]))),+               ("use_length",) . showValue <$>+                 (args !? #use_length :: Maybe (Maybe Bool))]+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("length",) <$> (args !? #length :: Maybe t)]+      in apply "softmax" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_softmax_cross_entropy" t =+     '[ '("data", AttrOpt t), '("label", AttrOpt t)]++_softmax_cross_entropy ::+                       forall a t .+                         (TensorOp t t, Fullfilled "_softmax_cross_entropy" t a,+                          HasCallStack) =>+                         ArgsHMap "_softmax_cross_entropy" t a -> TensorApply t+_softmax_cross_entropy args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("data",) <$> (args !? #data :: Maybe t),+               ("label",) <$> (args !? #label :: Maybe t)]+      in+      apply "softmax_cross_entropy" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_softmin" t =+     '[ '("axis", AttrOpt Int),+        '("temperature", AttrOpt (Maybe Double)),+        '("dtype",+          AttrOpt (Maybe (EnumType '["float16", "float32", "float64"]))),+        '("use_length", AttrOpt (Maybe Bool)), '("data", AttrOpt t)]++_softmin ::+         forall a t .+           (TensorOp t t, Fullfilled "_softmin" t a, HasCallStack) =>+           ArgsHMap "_softmin" t a -> TensorApply t+_softmin args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("temperature",) . showValue <$>+                 (args !? #temperature :: Maybe (Maybe Double)),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe (Maybe (EnumType '["float16", "float32", "float64"]))),+               ("use_length",) . showValue <$>+                 (args !? #use_length :: Maybe (Maybe Bool))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "softmin" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_softsign" t =+     '[ '("data", AttrOpt t)]++_softsign ::+          forall a t .+            (TensorOp t t, Fullfilled "_softsign" t a, HasCallStack) =>+            ArgsHMap "_softsign" t a -> TensorApply t+_softsign args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "softsign" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_sort" t =+     '[ '("axis", AttrOpt (Maybe Int)), '("is_ascend", AttrOpt Bool),+        '("data", AttrOpt t)]++_sort ::+      forall a t .+        (TensorOp t t, Fullfilled "_sort" t a, HasCallStack) =>+        ArgsHMap "_sort" t a -> TensorApply t+_sort args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),+               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "sort" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_space_to_depth" t =+     '[ '("block_size", AttrReq Int), '("data", AttrOpt t)]++_space_to_depth ::+                forall a t .+                  (TensorOp t t, Fullfilled "_space_to_depth" t a, HasCallStack) =>+                  ArgsHMap "_space_to_depth" t a -> TensorApply t+_space_to_depth args+  = let scalarArgs+          = catMaybes+              [("block_size",) . showValue <$>+                 (args !? #block_size :: Maybe Int)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "space_to_depth" scalarArgs+        (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_sqrt" t = '[ '("data", AttrOpt t)]++_sqrt ::+      forall a t .+        (TensorOp t t, Fullfilled "_sqrt" t a, HasCallStack) =>+        ArgsHMap "_sqrt" t a -> TensorApply t+_sqrt args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "sqrt" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_square" t = '[ '("data", AttrOpt t)]++_square ::+        forall a t .+          (TensorOp t t, Fullfilled "_square" t a, HasCallStack) =>+          ArgsHMap "_square" t a -> TensorApply t+_square args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "square" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_squeeze" t =+     '[ '("axis", AttrOpt (Maybe [Int])), '("data", AttrOpt t)]++_squeeze ::+         forall a t .+           (TensorOp t t, Fullfilled "_squeeze" t a, HasCallStack) =>+           ArgsHMap "_squeeze" t a -> TensorApply t+_squeeze args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "squeeze" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_stack" t =+     '[ '("axis", AttrOpt Int), '("num_args", AttrReq Int),+        '("data", AttrOpt [t])]++_stack ::+       forall a t .+         (TensorOp t t, Fullfilled "_stack" t a, HasCallStack) =>+         ArgsHMap "_stack" t a -> TensorApply t+_stack args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("num_args",) . showValue <$> (args !? #num_args :: Maybe Int)]+        tensorKeyArgs = catMaybes []+        tensorVarArgs = fromMaybe [] (args !? #data :: Maybe [t])+      in apply "stack" scalarArgs (Right tensorVarArgs)++type instance ParameterList "_sum" t =+     '[ '("axis", AttrOpt (Maybe [Int])), '("keepdims", AttrOpt Bool),+        '("exclude", AttrOpt Bool), '("data", AttrOpt t)]++_sum ::+     forall a t . (TensorOp t t, Fullfilled "_sum" t a, HasCallStack) =>+       ArgsHMap "_sum" t a -> TensorApply t+_sum args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe [Int])),+               ("keepdims",) . showValue <$> (args !? #keepdims :: Maybe Bool),+               ("exclude",) . showValue <$> (args !? #exclude :: Maybe Bool)]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "sum" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_take" t =+     '[ '("axis", AttrOpt Int),+        '("mode", AttrOpt (EnumType '["clip", "raise", "wrap"])),+        '("a", AttrOpt t), '("indices", AttrOpt t)]++_take ::+      forall a t .+        (TensorOp t t, Fullfilled "_take" t a, HasCallStack) =>+        ArgsHMap "_take" t a -> TensorApply t+_take args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe Int),+               ("mode",) . showValue <$>+                 (args !? #mode :: Maybe (EnumType '["clip", "raise", "wrap"]))]+        tensorKeyArgs+          = catMaybes+              [("a",) <$> (args !? #a :: Maybe t),+               ("indices",) <$> (args !? #indices :: Maybe t)]+      in apply "take" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_tan" t = '[ '("data", AttrOpt t)]++_tan ::+     forall a t . (TensorOp t t, Fullfilled "_tan" t a, HasCallStack) =>+       ArgsHMap "_tan" t a -> TensorApply t+_tan args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "tan" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_tanh" t = '[ '("data", AttrOpt t)]++_tanh ::+      forall a t .+        (TensorOp t t, Fullfilled "_tanh" t a, HasCallStack) =>+        ArgsHMap "_tanh" t a -> TensorApply t+_tanh args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "tanh" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_tile" t =+     '[ '("reps", AttrReq [Int]), '("data", AttrOpt t)]++_tile ::+      forall a t .+        (TensorOp t t, Fullfilled "_tile" t a, HasCallStack) =>+        ArgsHMap "_tile" t a -> TensorApply t+_tile args+  = let scalarArgs+          = catMaybes+              [("reps",) . showValue <$> (args !? #reps :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "tile" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_topk" t =+     '[ '("axis", AttrOpt (Maybe Int)), '("k", AttrOpt Int),+        '("ret_typ",+          AttrOpt (EnumType '["both", "indices", "mask", "value"])),+        '("is_ascend", AttrOpt Bool),+        '("dtype",+          AttrOpt+            (EnumType+               '["float16", "float32", "float64", "int32", "int64", "uint8"])),+        '("data", AttrOpt t)]++_topk ::+      forall a t .+        (TensorOp t t, Fullfilled "_topk" t a, HasCallStack) =>+        ArgsHMap "_topk" t a -> TensorApply t+_topk args+  = let scalarArgs+          = catMaybes+              [("axis",) . showValue <$> (args !? #axis :: Maybe (Maybe Int)),+               ("k",) . showValue <$> (args !? #k :: Maybe Int),+               ("ret_typ",) . showValue <$>+                 (args !? #ret_typ ::+                    Maybe (EnumType '["both", "indices", "mask", "value"])),+               ("is_ascend",) . showValue <$> (args !? #is_ascend :: Maybe Bool),+               ("dtype",) . showValue <$>+                 (args !? #dtype ::+                    Maybe+                      (EnumType+                         '["float16", "float32", "float64", "int32", "int64", "uint8"]))]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "topk" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_transpose" t =+     '[ '("axes", AttrOpt [Int]), '("data", AttrOpt t)]++_transpose ::+           forall a t .+             (TensorOp t t, Fullfilled "_transpose" t a, HasCallStack) =>+             ArgsHMap "_transpose" t a -> TensorApply t+_transpose args+  = let scalarArgs+          = catMaybes+              [("axes",) . showValue <$> (args !? #axes :: Maybe [Int])]+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "transpose" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_trunc" t = '[ '("data", AttrOpt t)]++_trunc ::+       forall a t .+         (TensorOp t t, Fullfilled "_trunc" t a, HasCallStack) =>+         ArgsHMap "_trunc" t a -> TensorApply t+_trunc args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in apply "trunc" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_where" t =+     '[ '("condition", AttrOpt t), '("x", AttrOpt t), '("y", AttrOpt t)]++_where ::+       forall a t .+         (TensorOp t t, Fullfilled "_where" t a, HasCallStack) =>+         ArgsHMap "_where" t a -> TensorApply t+_where args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes+              [("condition",) <$> (args !? #condition :: Maybe t),+               ("x",) <$> (args !? #x :: Maybe t),+               ("y",) <$> (args !? #y :: Maybe t)]+      in apply "where" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))++type instance ParameterList "_zeros_like" t =+     '[ '("data", AttrOpt t)]++_zeros_like ::+            forall a t .+              (TensorOp t t, Fullfilled "_zeros_like" t a, HasCallStack) =>+              ArgsHMap "_zeros_like" t a -> TensorApply t+_zeros_like args+  = let scalarArgs = catMaybes []+        tensorKeyArgs+          = catMaybes [("data",) <$> (args !? #data :: Maybe t)]+      in+      apply "zeros_like" scalarArgs (Left (tensorKeyArgs :: [(Text, t)]))
+ ops/dummy/MXNet/Base/DataIter.hs view
@@ -0,0 +1,1 @@+module MXNet.Base.DataIter where
+ ops/dummy/MXNet/Base/Operators/Tensor.hs view
@@ -0,0 +1,5 @@+module MXNet.Base.Operators.Tensor where++import           RIO++__copyto = error "tensors operators not generated."