我有一个类型级别的数字
data Z deriving Typeable
data S n deriving Typeable
Run Code Online (Sandbox Code Playgroud)
和n-ary函数(来自固定向量包的代码)
-- | Type family for n-ary functions.
type family Fn n a b
type instance Fn Z a b = b
type instance Fn (S n) a b = a -> Fn n a b
-- | Newtype wrapper which is used to make 'Fn' injective. It's also a
-- reader monad.
newtype Fun n a b = Fun { unFun :: Fn n a b }
Run Code Online (Sandbox Code Playgroud)
我需要像这样的功能
uncurryN …Run Code Online (Sandbox Code Playgroud)