{-# Language TypeFamilies, TypeSynonymInstances, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts #-}
module Csound.Air.ModArg(
ModArg1(..), ModArg2(..), ModArg3(..), ModArg4(..),
delModArg1, delModArg2, delModArg3, delModArg4,
oscArg1, oscArg2, oscArg3, oscArg4,
triArg1, triArg2, triArg3, triArg4,
sqrArg1, sqrArg2, sqrArg3, sqrArg4,
sawArg1, sawArg2, sawArg3, sawArg4,
rndOscArg1, rndOscArg2, rndOscArg3, rndOscArg4,
rndTriArg1, rndTriArg2, rndTriArg3, rndTriArg4,
rndSqrArg1, rndSqrArg2, rndSqrArg3, rndSqrArg4,
rndSawArg1, rndSawArg2, rndSawArg3, rndSawArg4,
delOscArg1, delOscArg2, delOscArg3, delOscArg4,
delTriArg1, delTriArg2, delTriArg3, delTriArg4,
delSqrArg1, delSqrArg2, delSqrArg3, delSqrArg4,
delSawArg1, delSawArg2, delSawArg3, delSawArg4,
delRndOscArg1, delRndOscArg2, delRndOscArg3, delRndOscArg4,
delRndTriArg1, delRndTriArg2, delRndTriArg3, delRndTriArg4,
delRndSqrArg1, delRndSqrArg2, delRndSqrArg3, delRndSqrArg4,
delRndSawArg1, delRndSawArg2, delRndSawArg3, delRndSawArg4,
noiseArg1, noiseArg2, noiseArg3, noiseArg4,
pinkArg1, pinkArg2, pinkArg3, pinkArg4,
jitArg1, jitArg2, jitArg3, jitArg4,
gaussArg1, gaussArg2, gaussArg3, gaussArg4,
gaussiArg1, gaussiArg2, gaussiArg3, gaussiArg4,
delNoiseArg1, delNoiseArg2, delNoiseArg3, delNoiseArg4,
delPinkArg1, delPinkArg2, delPinkArg3, delPinkArg4,
delJitArg1, delJitArg2, delJitArg3, delJitArg4,
delGaussArg1, delGaussArg2, delGaussArg3, delGaussArg4,
delGaussiArg1, delGaussiArg2, delGaussiArg3, delGaussiArg4,
adsrArg1, adsrArg2, adsrArg3, adsrArg4,
xadsrArg1, xadsrArg2, xadsrArg3, xadsrArg4,
delAdsrArg1, delAdsrArg2, delAdsrArg3, delAdsrArg4,
delXadsrArg1, delXadsrArg2, delXadsrArg3, delXadsrArg4
) where
import Csound.Typed
import Csound.Typed.Opcode(gauss, gaussi, jitter, linseg, linsegr, expsegr)
import Csound.Air.Wave
import Csound.Air.Envelope
delEnv :: SigSpace a => D -> D -> a -> a
delEnv :: D -> D -> a -> a
delEnv D
delTime D
riseTime a
asig = Sig -> a -> a
forall a. SigSpace a => Sig -> a -> a
mul ([D] -> Sig
linseg [D
0, D
delTime, D
0, D
riseTime, D
1]) a
asig
delModArg1 :: (SigSpace a, ModArg1 a b) => D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 :: D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth a
modSig b
f = Sig -> a -> b -> ModArgOut1 a b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 (D -> D -> Sig -> Sig
forall a. SigSpace a => D -> D -> a -> a
delEnv D
delTime D
riseTime Sig
depth) a
modSig b
f
delModArg2 :: (SigSpace a, ModArg2 a b) => D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 :: D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth a
modSig b
f = Sig -> a -> b -> ModArgOut2 a b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 (D -> D -> Sig -> Sig
forall a. SigSpace a => D -> D -> a -> a
delEnv D
delTime D
riseTime Sig
depth) a
modSig b
f
delModArg3 :: (SigSpace a, ModArg3 a b) => D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 :: D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth a
modSig b
f = Sig -> a -> b -> ModArgOut3 a b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 (D -> D -> Sig -> Sig
forall a. SigSpace a => D -> D -> a -> a
delEnv D
delTime D
riseTime Sig
depth) a
modSig b
f
delModArg4 :: (SigSpace a, ModArg4 a b) => D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 :: D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth a
modSig b
f = Sig -> a -> b -> ModArgOut4 a b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 (D -> D -> Sig -> Sig
forall a. SigSpace a => D -> D -> a -> a
delEnv D
delTime D
riseTime Sig
depth) a
modSig b
f
adsrArg1 :: (ModArg1 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut1 Sig b
adsrArg1 :: Sig -> D -> D -> D -> D -> b -> ModArgOut1 Sig b
adsrArg1 Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut1 Sig b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (D -> D -> D -> D -> Sig
leg D
a D
d D
s D
r) b
f
adsrArg2 :: (ModArg2 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut2 Sig b
adsrArg2 :: Sig -> D -> D -> D -> D -> b -> ModArgOut2 Sig b
adsrArg2 Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut2 Sig b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (D -> D -> D -> D -> Sig
leg D
a D
d D
s D
r) b
f
adsrArg3 :: (ModArg3 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut3 Sig b
adsrArg3 :: Sig -> D -> D -> D -> D -> b -> ModArgOut3 Sig b
adsrArg3 Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut3 Sig b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (D -> D -> D -> D -> Sig
leg D
a D
d D
s D
r) b
f
adsrArg4 :: (ModArg4 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut4 Sig b
adsrArg4 :: Sig -> D -> D -> D -> D -> b -> ModArgOut4 Sig b
adsrArg4 Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut4 Sig b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (D -> D -> D -> D -> Sig
leg D
a D
d D
s D
r) b
f
delLeg :: D -> D -> D -> D -> D -> Sig
delLeg :: D -> D -> D -> D -> D -> Sig
delLeg D
delTime D
a D
d D
s D
r = [D] -> D -> D -> Sig
linsegr [D
0, D
delTime, D
0, D
a, D
1, D
d, D
s] D
r D
0
delAdsrArg1 :: (ModArg1 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut1 Sig b
delAdsrArg1 :: D -> Sig -> D -> D -> D -> D -> b -> ModArgOut1 Sig b
delAdsrArg1 D
delTime Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut1 Sig b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (D -> D -> D -> D -> D -> Sig
delLeg D
delTime D
a D
d D
s D
r) b
f
delAdsrArg2 :: (ModArg2 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut2 Sig b
delAdsrArg2 :: D -> Sig -> D -> D -> D -> D -> b -> ModArgOut2 Sig b
delAdsrArg2 D
delTime Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut2 Sig b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (D -> D -> D -> D -> D -> Sig
delLeg D
delTime D
a D
d D
s D
r) b
f
delAdsrArg3 :: (ModArg3 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut3 Sig b
delAdsrArg3 :: D -> Sig -> D -> D -> D -> D -> b -> ModArgOut3 Sig b
delAdsrArg3 D
delTime Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut3 Sig b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (D -> D -> D -> D -> D -> Sig
delLeg D
delTime D
a D
d D
s D
r) b
f
delAdsrArg4 :: (ModArg4 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut4 Sig b
delAdsrArg4 :: D -> Sig -> D -> D -> D -> D -> b -> ModArgOut4 Sig b
delAdsrArg4 D
delTime Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut4 Sig b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (D -> D -> D -> D -> D -> Sig
delLeg D
delTime D
a D
d D
s D
r) b
f
xadsrArg1 :: (ModArg1 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut1 Sig b
xadsrArg1 :: Sig -> D -> D -> D -> D -> b -> ModArgOut1 Sig b
xadsrArg1 Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut1 Sig b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (D -> D -> D -> D -> Sig
xeg D
a D
d D
s D
r) b
f
xadsrArg2 :: (ModArg2 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut2 Sig b
xadsrArg2 :: Sig -> D -> D -> D -> D -> b -> ModArgOut2 Sig b
xadsrArg2 Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut2 Sig b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (D -> D -> D -> D -> Sig
xeg D
a D
d D
s D
r) b
f
xadsrArg3 :: (ModArg3 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut3 Sig b
xadsrArg3 :: Sig -> D -> D -> D -> D -> b -> ModArgOut3 Sig b
xadsrArg3 Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut3 Sig b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (D -> D -> D -> D -> Sig
xeg D
a D
d D
s D
r) b
f
xadsrArg4 :: (ModArg4 Sig b) => Sig -> D -> D -> D -> D -> b -> ModArgOut4 Sig b
xadsrArg4 :: Sig -> D -> D -> D -> D -> b -> ModArgOut4 Sig b
xadsrArg4 Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut4 Sig b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (D -> D -> D -> D -> Sig
xeg D
a D
d D
s D
r) b
f
delXeg :: D -> D -> D -> D -> D -> Sig
delXeg :: D -> D -> D -> D -> D -> Sig
delXeg D
delTime D
a D
d D
s D
r = [D] -> D -> D -> Sig
expsegr [D
0.001, D
delTime, D
0.001, D
a, D
1, D
d, D
s] D
r D
0.001
delXadsrArg1 :: (ModArg1 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut1 Sig b
delXadsrArg1 :: D -> Sig -> D -> D -> D -> D -> b -> ModArgOut1 Sig b
delXadsrArg1 D
delTime Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut1 Sig b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (D -> D -> D -> D -> D -> Sig
delXeg D
delTime D
a D
d D
s D
r) b
f
delXadsrArg2 :: (ModArg2 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut2 Sig b
delXadsrArg2 :: D -> Sig -> D -> D -> D -> D -> b -> ModArgOut2 Sig b
delXadsrArg2 D
delTime Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut2 Sig b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (D -> D -> D -> D -> D -> Sig
delXeg D
delTime D
a D
d D
s D
r) b
f
delXadsrArg3 :: (ModArg3 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut3 Sig b
delXadsrArg3 :: D -> Sig -> D -> D -> D -> D -> b -> ModArgOut3 Sig b
delXadsrArg3 D
delTime Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut3 Sig b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (D -> D -> D -> D -> D -> Sig
delXeg D
delTime D
a D
d D
s D
r) b
f
delXadsrArg4 :: (ModArg4 Sig b) => D -> Sig -> D -> D -> D -> D -> b -> ModArgOut4 Sig b
delXadsrArg4 :: D -> Sig -> D -> D -> D -> D -> b -> ModArgOut4 Sig b
delXadsrArg4 D
delTime Sig
depth D
a D
d D
s D
r b
f = Sig -> Sig -> b -> ModArgOut4 Sig b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (D -> D -> D -> D -> D -> Sig
delXeg D
delTime D
a D
d D
s D
r) b
f
oscArg1 :: (ModArg1 Sig b) => Sig -> Sig -> b -> ModArgOut1 Sig b
oscArg1 :: Sig -> Sig -> b -> ModArgOut1 Sig b
oscArg1 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut1 Sig b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (Sig -> Sig
osc Sig
rate) b
f
oscArg2 :: (ModArg2 Sig b) => Sig -> Sig -> b -> ModArgOut2 Sig b
oscArg2 :: Sig -> Sig -> b -> ModArgOut2 Sig b
oscArg2 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut2 Sig b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (Sig -> Sig
osc Sig
rate) b
f
oscArg3 :: (ModArg3 Sig b) => Sig -> Sig -> b -> ModArgOut3 Sig b
oscArg3 :: Sig -> Sig -> b -> ModArgOut3 Sig b
oscArg3 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut3 Sig b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (Sig -> Sig
osc Sig
rate) b
f
oscArg4 :: (ModArg4 Sig b) => Sig -> Sig -> b -> ModArgOut4 Sig b
oscArg4 :: Sig -> Sig -> b -> ModArgOut4 Sig b
oscArg4 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut4 Sig b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (Sig -> Sig
osc Sig
rate) b
f
delOscArg1 :: (ModArg1 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
delOscArg1 :: D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
delOscArg1 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
forall a b.
(SigSpace a, ModArg1 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth (Sig -> Sig
osc Sig
rate) b
f
delOscArg2 :: (ModArg2 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
delOscArg2 :: D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
delOscArg2 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
forall a b.
(SigSpace a, ModArg2 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth (Sig -> Sig
osc Sig
rate) b
f
delOscArg3 :: (ModArg3 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
delOscArg3 :: D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
delOscArg3 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
forall a b.
(SigSpace a, ModArg3 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth (Sig -> Sig
osc Sig
rate) b
f
delOscArg4 :: (ModArg4 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
delOscArg4 :: D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
delOscArg4 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
forall a b.
(SigSpace a, ModArg4 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth (Sig -> Sig
osc Sig
rate) b
f
triArg1 :: (ModArg1 Sig b) => Sig -> Sig -> b -> ModArgOut1 Sig b
triArg1 :: Sig -> Sig -> b -> ModArgOut1 Sig b
triArg1 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut1 Sig b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (Sig -> Sig
tri Sig
rate) b
f
triArg2 :: (ModArg2 Sig b) => Sig -> Sig -> b -> ModArgOut2 Sig b
triArg2 :: Sig -> Sig -> b -> ModArgOut2 Sig b
triArg2 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut2 Sig b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (Sig -> Sig
tri Sig
rate) b
f
triArg3 :: (ModArg3 Sig b) => Sig -> Sig -> b -> ModArgOut3 Sig b
triArg3 :: Sig -> Sig -> b -> ModArgOut3 Sig b
triArg3 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut3 Sig b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (Sig -> Sig
tri Sig
rate) b
f
triArg4 :: (ModArg4 Sig b) => Sig -> Sig -> b -> ModArgOut4 Sig b
triArg4 :: Sig -> Sig -> b -> ModArgOut4 Sig b
triArg4 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut4 Sig b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (Sig -> Sig
tri Sig
rate) b
f
delTriArg1 :: (ModArg1 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
delTriArg1 :: D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
delTriArg1 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
forall a b.
(SigSpace a, ModArg1 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth (Sig -> Sig
tri Sig
rate) b
f
delTriArg2 :: (ModArg2 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
delTriArg2 :: D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
delTriArg2 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
forall a b.
(SigSpace a, ModArg2 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth (Sig -> Sig
tri Sig
rate) b
f
delTriArg3 :: (ModArg3 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
delTriArg3 :: D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
delTriArg3 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
forall a b.
(SigSpace a, ModArg3 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth (Sig -> Sig
tri Sig
rate) b
f
delTriArg4 :: (ModArg4 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
delTriArg4 :: D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
delTriArg4 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
forall a b.
(SigSpace a, ModArg4 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth (Sig -> Sig
tri Sig
rate) b
f
sqrArg1 :: (ModArg1 Sig b) => Sig -> Sig -> b -> ModArgOut1 Sig b
sqrArg1 :: Sig -> Sig -> b -> ModArgOut1 Sig b
sqrArg1 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut1 Sig b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (Sig -> Sig
sqr Sig
rate) b
f
sqrArg2 :: (ModArg2 Sig b) => Sig -> Sig -> b -> ModArgOut2 Sig b
sqrArg2 :: Sig -> Sig -> b -> ModArgOut2 Sig b
sqrArg2 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut2 Sig b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (Sig -> Sig
sqr Sig
rate) b
f
sqrArg3 :: (ModArg3 Sig b) => Sig -> Sig -> b -> ModArgOut3 Sig b
sqrArg3 :: Sig -> Sig -> b -> ModArgOut3 Sig b
sqrArg3 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut3 Sig b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (Sig -> Sig
sqr Sig
rate) b
f
sqrArg4 :: (ModArg4 Sig b) => Sig -> Sig -> b -> ModArgOut4 Sig b
sqrArg4 :: Sig -> Sig -> b -> ModArgOut4 Sig b
sqrArg4 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut4 Sig b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (Sig -> Sig
sqr Sig
rate) b
f
delSqrArg1 :: (ModArg1 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
delSqrArg1 :: D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
delSqrArg1 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
forall a b.
(SigSpace a, ModArg1 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth (Sig -> Sig
sqr Sig
rate) b
f
delSqrArg2 :: (ModArg2 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
delSqrArg2 :: D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
delSqrArg2 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
forall a b.
(SigSpace a, ModArg2 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth (Sig -> Sig
sqr Sig
rate) b
f
delSqrArg3 :: (ModArg3 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
delSqrArg3 :: D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
delSqrArg3 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
forall a b.
(SigSpace a, ModArg3 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth (Sig -> Sig
sqr Sig
rate) b
f
delSqrArg4 :: (ModArg4 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
delSqrArg4 :: D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
delSqrArg4 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
forall a b.
(SigSpace a, ModArg4 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth (Sig -> Sig
sqr Sig
rate) b
f
sawArg1 :: (ModArg1 Sig b) => Sig -> Sig -> b -> ModArgOut1 Sig b
sawArg1 :: Sig -> Sig -> b -> ModArgOut1 Sig b
sawArg1 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut1 Sig b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (Sig -> Sig
saw Sig
rate) b
f
sawArg2 :: (ModArg2 Sig b) => Sig -> Sig -> b -> ModArgOut2 Sig b
sawArg2 :: Sig -> Sig -> b -> ModArgOut2 Sig b
sawArg2 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut2 Sig b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (Sig -> Sig
saw Sig
rate) b
f
sawArg3 :: (ModArg3 Sig b) => Sig -> Sig -> b -> ModArgOut3 Sig b
sawArg3 :: Sig -> Sig -> b -> ModArgOut3 Sig b
sawArg3 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut3 Sig b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (Sig -> Sig
saw Sig
rate) b
f
sawArg4 :: (ModArg4 Sig b) => Sig -> Sig -> b -> ModArgOut4 Sig b
sawArg4 :: Sig -> Sig -> b -> ModArgOut4 Sig b
sawArg4 Sig
depth Sig
rate b
f = Sig -> Sig -> b -> ModArgOut4 Sig b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (Sig -> Sig
saw Sig
rate) b
f
delSawArg1 :: (ModArg1 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
delSawArg1 :: D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
delSawArg1 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut1 Sig b
forall a b.
(SigSpace a, ModArg1 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth (Sig -> Sig
saw Sig
rate) b
f
delSawArg2 :: (ModArg2 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
delSawArg2 :: D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
delSawArg2 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut2 Sig b
forall a b.
(SigSpace a, ModArg2 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth (Sig -> Sig
saw Sig
rate) b
f
delSawArg3 :: (ModArg3 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
delSawArg3 :: D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
delSawArg3 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut3 Sig b
forall a b.
(SigSpace a, ModArg3 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth (Sig -> Sig
saw Sig
rate) b
f
delSawArg4 :: (ModArg4 Sig b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
delSawArg4 :: D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
delSawArg4 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> Sig -> b -> ModArgOut4 Sig b
forall a b.
(SigSpace a, ModArg4 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth (Sig -> Sig
saw Sig
rate) b
f
rndOscArg1 :: (ModArg1 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
rndOscArg1 :: Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
rndOscArg1 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (Sig -> SE Sig
rndOsc Sig
rate) b
f
rndOscArg2 :: (ModArg2 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
rndOscArg2 :: Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
rndOscArg2 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (Sig -> SE Sig
rndOsc Sig
rate) b
f
rndOscArg3 :: (ModArg3 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
rndOscArg3 :: Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
rndOscArg3 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (Sig -> SE Sig
rndOsc Sig
rate) b
f
rndOscArg4 :: (ModArg4 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
rndOscArg4 :: Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
rndOscArg4 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (Sig -> SE Sig
rndOsc Sig
rate) b
f
delRndOscArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delRndOscArg1 :: D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delRndOscArg1 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b.
(SigSpace a, ModArg1 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndOsc Sig
rate) b
f
delRndOscArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delRndOscArg2 :: D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delRndOscArg2 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b.
(SigSpace a, ModArg2 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndOsc Sig
rate) b
f
delRndOscArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delRndOscArg3 :: D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delRndOscArg3 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b.
(SigSpace a, ModArg3 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndOsc Sig
rate) b
f
delRndOscArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delRndOscArg4 :: D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delRndOscArg4 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b.
(SigSpace a, ModArg4 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndOsc Sig
rate) b
f
rndTriArg1 :: (ModArg1 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
rndTriArg1 :: Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
rndTriArg1 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (Sig -> SE Sig
rndTri Sig
rate) b
f
rndTriArg2 :: (ModArg2 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
rndTriArg2 :: Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
rndTriArg2 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (Sig -> SE Sig
rndTri Sig
rate) b
f
rndTriArg3 :: (ModArg3 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
rndTriArg3 :: Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
rndTriArg3 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (Sig -> SE Sig
rndTri Sig
rate) b
f
rndTriArg4 :: (ModArg4 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
rndTriArg4 :: Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
rndTriArg4 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (Sig -> SE Sig
rndTri Sig
rate) b
f
delRndTriArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delRndTriArg1 :: D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delRndTriArg1 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b.
(SigSpace a, ModArg1 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndTri Sig
rate) b
f
delRndTriArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delRndTriArg2 :: D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delRndTriArg2 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b.
(SigSpace a, ModArg2 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndTri Sig
rate) b
f
delRndTriArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delRndTriArg3 :: D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delRndTriArg3 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b.
(SigSpace a, ModArg3 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndTri Sig
rate) b
f
delRndTriArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delRndTriArg4 :: D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delRndTriArg4 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b.
(SigSpace a, ModArg4 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndTri Sig
rate) b
f
rndSqrArg1 :: (ModArg1 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
rndSqrArg1 :: Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
rndSqrArg1 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (Sig -> SE Sig
rndSqr Sig
rate) b
f
rndSqrArg2 :: (ModArg2 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
rndSqrArg2 :: Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
rndSqrArg2 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (Sig -> SE Sig
rndSqr Sig
rate) b
f
rndSqrArg3 :: (ModArg3 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
rndSqrArg3 :: Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
rndSqrArg3 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (Sig -> SE Sig
rndSqr Sig
rate) b
f
rndSqrArg4 :: (ModArg4 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
rndSqrArg4 :: Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
rndSqrArg4 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (Sig -> SE Sig
rndSqr Sig
rate) b
f
delRndSqrArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delRndSqrArg1 :: D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delRndSqrArg1 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b.
(SigSpace a, ModArg1 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndSqr Sig
rate) b
f
delRndSqrArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delRndSqrArg2 :: D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delRndSqrArg2 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b.
(SigSpace a, ModArg2 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndSqr Sig
rate) b
f
delRndSqrArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delRndSqrArg3 :: D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delRndSqrArg3 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b.
(SigSpace a, ModArg3 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndSqr Sig
rate) b
f
delRndSqrArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delRndSqrArg4 :: D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delRndSqrArg4 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b.
(SigSpace a, ModArg4 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndSqr Sig
rate) b
f
rndSawArg1 :: (ModArg1 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
rndSawArg1 :: Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
rndSawArg1 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (Sig -> SE Sig
rndSaw Sig
rate) b
f
rndSawArg2 :: (ModArg2 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
rndSawArg2 :: Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
rndSawArg2 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (Sig -> SE Sig
rndSaw Sig
rate) b
f
rndSawArg3 :: (ModArg3 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
rndSawArg3 :: Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
rndSawArg3 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (Sig -> SE Sig
rndSaw Sig
rate) b
f
rndSawArg4 :: (ModArg4 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
rndSawArg4 :: Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
rndSawArg4 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (Sig -> SE Sig
rndSaw Sig
rate) b
f
delRndSawArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delRndSawArg1 :: D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delRndSawArg1 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b.
(SigSpace a, ModArg1 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndSaw Sig
rate) b
f
delRndSawArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delRndSawArg2 :: D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delRndSawArg2 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b.
(SigSpace a, ModArg2 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndSaw Sig
rate) b
f
delRndSawArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delRndSawArg3 :: D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delRndSawArg3 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b.
(SigSpace a, ModArg3 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndSaw Sig
rate) b
f
delRndSawArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delRndSawArg4 :: D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delRndSawArg4 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b.
(SigSpace a, ModArg4 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
rndSaw Sig
rate) b
f
noiseArg1 :: (ModArg1 (SE Sig) b) => Sig -> b -> ModArgOut1 (SE Sig) b
noiseArg1 :: Sig -> b -> ModArgOut1 (SE Sig) b
noiseArg1 Sig
depth b
f = Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth SE Sig
white b
f
noiseArg2 :: (ModArg2 (SE Sig) b) => Sig -> b -> ModArgOut2 (SE Sig) b
noiseArg2 :: Sig -> b -> ModArgOut2 (SE Sig) b
noiseArg2 Sig
depth b
f = Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth SE Sig
white b
f
noiseArg3 :: (ModArg3 (SE Sig) b) => Sig -> b -> ModArgOut3 (SE Sig) b
noiseArg3 :: Sig -> b -> ModArgOut3 (SE Sig) b
noiseArg3 Sig
depth b
f = Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth SE Sig
white b
f
noiseArg4 :: (ModArg4 (SE Sig) b) => Sig -> b -> ModArgOut4 (SE Sig) b
noiseArg4 :: Sig -> b -> ModArgOut4 (SE Sig) b
noiseArg4 Sig
depth b
f = Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth SE Sig
white b
f
delNoiseArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut1 (SE Sig) b
delNoiseArg1 :: D -> D -> Sig -> b -> ModArgOut1 (SE Sig) b
delNoiseArg1 D
delTime D
riseTime Sig
depth b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b.
(SigSpace a, ModArg1 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth SE Sig
white b
f
delNoiseArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut2 (SE Sig) b
delNoiseArg2 :: D -> D -> Sig -> b -> ModArgOut2 (SE Sig) b
delNoiseArg2 D
delTime D
riseTime Sig
depth b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b.
(SigSpace a, ModArg2 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth SE Sig
white b
f
delNoiseArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut3 (SE Sig) b
delNoiseArg3 :: D -> D -> Sig -> b -> ModArgOut3 (SE Sig) b
delNoiseArg3 D
delTime D
riseTime Sig
depth b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b.
(SigSpace a, ModArg3 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth SE Sig
white b
f
delNoiseArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut4 (SE Sig) b
delNoiseArg4 :: D -> D -> Sig -> b -> ModArgOut4 (SE Sig) b
delNoiseArg4 D
delTime D
riseTime Sig
depth b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b.
(SigSpace a, ModArg4 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth SE Sig
white b
f
pinkArg1 :: (ModArg1 (SE Sig) b) => Sig -> b -> ModArgOut1 (SE Sig) b
pinkArg1 :: Sig -> b -> ModArgOut1 (SE Sig) b
pinkArg1 Sig
depth b
f = Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth SE Sig
pink b
f
pinkArg2 :: (ModArg2 (SE Sig) b) => Sig -> b -> ModArgOut2 (SE Sig) b
pinkArg2 :: Sig -> b -> ModArgOut2 (SE Sig) b
pinkArg2 Sig
depth b
f = Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth SE Sig
pink b
f
pinkArg3 :: (ModArg3 (SE Sig) b) => Sig -> b -> ModArgOut3 (SE Sig) b
pinkArg3 :: Sig -> b -> ModArgOut3 (SE Sig) b
pinkArg3 Sig
depth b
f = Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth SE Sig
pink b
f
pinkArg4 :: (ModArg4 (SE Sig) b) => Sig -> b -> ModArgOut4 (SE Sig) b
pinkArg4 :: Sig -> b -> ModArgOut4 (SE Sig) b
pinkArg4 Sig
depth b
f = Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth SE Sig
pink b
f
delPinkArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut1 (SE Sig) b
delPinkArg1 :: D -> D -> Sig -> b -> ModArgOut1 (SE Sig) b
delPinkArg1 D
delTime D
riseTime Sig
depth b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b.
(SigSpace a, ModArg1 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth SE Sig
pink b
f
delPinkArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut2 (SE Sig) b
delPinkArg2 :: D -> D -> Sig -> b -> ModArgOut2 (SE Sig) b
delPinkArg2 D
delTime D
riseTime Sig
depth b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b.
(SigSpace a, ModArg2 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth SE Sig
pink b
f
delPinkArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut3 (SE Sig) b
delPinkArg3 :: D -> D -> Sig -> b -> ModArgOut3 (SE Sig) b
delPinkArg3 D
delTime D
riseTime Sig
depth b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b.
(SigSpace a, ModArg3 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth SE Sig
pink b
f
delPinkArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut4 (SE Sig) b
delPinkArg4 :: D -> D -> Sig -> b -> ModArgOut4 (SE Sig) b
delPinkArg4 D
delTime D
riseTime Sig
depth b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b.
(SigSpace a, ModArg4 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth SE Sig
pink b
f
jitArg1 :: (ModArg1 (SE Sig) b) => Sig -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
jitArg1 :: Sig -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
jitArg1 Sig
depth Sig
cpsMin Sig
cpsMax b
f = Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (Sig -> Sig -> Sig -> SE Sig
jitter Sig
1 Sig
cpsMin Sig
cpsMax) b
f
jitArg2 :: (ModArg2 (SE Sig) b) => Sig -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
jitArg2 :: Sig -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
jitArg2 Sig
depth Sig
cpsMin Sig
cpsMax b
f = Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (Sig -> Sig -> Sig -> SE Sig
jitter Sig
1 Sig
cpsMin Sig
cpsMax) b
f
jitArg3 :: (ModArg3 (SE Sig) b) => Sig -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
jitArg3 :: Sig -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
jitArg3 Sig
depth Sig
cpsMin Sig
cpsMax b
f = Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (Sig -> Sig -> Sig -> SE Sig
jitter Sig
1 Sig
cpsMin Sig
cpsMax) b
f
jitArg4 :: (ModArg4 (SE Sig) b) => Sig -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
jitArg4 :: Sig -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
jitArg4 Sig
depth Sig
cpsMin Sig
cpsMax b
f = Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (Sig -> Sig -> Sig -> SE Sig
jitter Sig
1 Sig
cpsMin Sig
cpsMax) b
f
delJitArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delJitArg1 :: D -> D -> Sig -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delJitArg1 D
delTime D
riseTime Sig
depth Sig
cpsMin Sig
cpsMax b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b.
(SigSpace a, ModArg1 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth (Sig -> Sig -> Sig -> SE Sig
jitter Sig
1 Sig
cpsMin Sig
cpsMax) b
f
delJitArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delJitArg2 :: D -> D -> Sig -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delJitArg2 D
delTime D
riseTime Sig
depth Sig
cpsMin Sig
cpsMax b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b.
(SigSpace a, ModArg2 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth (Sig -> Sig -> Sig -> SE Sig
jitter Sig
1 Sig
cpsMin Sig
cpsMax) b
f
delJitArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delJitArg3 :: D -> D -> Sig -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delJitArg3 D
delTime D
riseTime Sig
depth Sig
cpsMin Sig
cpsMax b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b.
(SigSpace a, ModArg3 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth (Sig -> Sig -> Sig -> SE Sig
jitter Sig
1 Sig
cpsMin Sig
cpsMax) b
f
delJitArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delJitArg4 :: D -> D -> Sig -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delJitArg4 D
delTime D
riseTime Sig
depth Sig
cpsMin Sig
cpsMax b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b.
(SigSpace a, ModArg4 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth (Sig -> Sig -> Sig -> SE Sig
jitter Sig
1 Sig
cpsMin Sig
cpsMax) b
f
gaussArg1 :: (ModArg1 (SE Sig) b) => Sig -> b -> ModArgOut1 (SE Sig) b
gaussArg1 :: Sig -> b -> ModArgOut1 (SE Sig) b
gaussArg1 Sig
depth b
f = Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (Sig -> SE Sig
gauss Sig
1) b
f
gaussArg2 :: (ModArg2 (SE Sig) b) => Sig -> b -> ModArgOut2 (SE Sig) b
gaussArg2 :: Sig -> b -> ModArgOut2 (SE Sig) b
gaussArg2 Sig
depth b
f = Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (Sig -> SE Sig
gauss Sig
1) b
f
gaussArg3 :: (ModArg3 (SE Sig) b) => Sig -> b -> ModArgOut3 (SE Sig) b
gaussArg3 :: Sig -> b -> ModArgOut3 (SE Sig) b
gaussArg3 Sig
depth b
f = Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (Sig -> SE Sig
gauss Sig
1) b
f
gaussArg4 :: (ModArg4 (SE Sig) b) => Sig -> b -> ModArgOut4 (SE Sig) b
gaussArg4 :: Sig -> b -> ModArgOut4 (SE Sig) b
gaussArg4 Sig
depth b
f = Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (Sig -> SE Sig
gauss Sig
1) b
f
delGaussArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut1 (SE Sig) b
delGaussArg1 :: D -> D -> Sig -> b -> ModArgOut1 (SE Sig) b
delGaussArg1 D
delTime D
riseTime Sig
depth b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b.
(SigSpace a, ModArg1 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
gauss Sig
1) b
f
delGaussArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut2 (SE Sig) b
delGaussArg2 :: D -> D -> Sig -> b -> ModArgOut2 (SE Sig) b
delGaussArg2 D
delTime D
riseTime Sig
depth b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b.
(SigSpace a, ModArg2 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
gauss Sig
1) b
f
delGaussArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut3 (SE Sig) b
delGaussArg3 :: D -> D -> Sig -> b -> ModArgOut3 (SE Sig) b
delGaussArg3 D
delTime D
riseTime Sig
depth b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b.
(SigSpace a, ModArg3 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
gauss Sig
1) b
f
delGaussArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> b -> ModArgOut4 (SE Sig) b
delGaussArg4 :: D -> D -> Sig -> b -> ModArgOut4 (SE Sig) b
delGaussArg4 D
delTime D
riseTime Sig
depth b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b.
(SigSpace a, ModArg4 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth (Sig -> SE Sig
gauss Sig
1) b
f
gaussiArg1 :: (ModArg1 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
gaussiArg1 :: Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
gaussiArg1 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b. ModArg1 a b => Sig -> a -> b -> ModArgOut1 a b
modArg1 Sig
depth (Sig -> Sig -> Sig -> SE Sig
forall a. SigOrD a => a -> a -> a -> SE a
gaussi Sig
1 Sig
1 Sig
rate) b
f
gaussiArg2 :: (ModArg2 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
gaussiArg2 :: Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
gaussiArg2 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b. ModArg2 a b => Sig -> a -> b -> ModArgOut2 a b
modArg2 Sig
depth (Sig -> Sig -> Sig -> SE Sig
forall a. SigOrD a => a -> a -> a -> SE a
gaussi Sig
1 Sig
1 Sig
rate) b
f
gaussiArg3 :: (ModArg3 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
gaussiArg3 :: Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
gaussiArg3 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b. ModArg3 a b => Sig -> a -> b -> ModArgOut3 a b
modArg3 Sig
depth (Sig -> Sig -> Sig -> SE Sig
forall a. SigOrD a => a -> a -> a -> SE a
gaussi Sig
1 Sig
1 Sig
rate) b
f
gaussiArg4 :: (ModArg4 (SE Sig) b) => Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
gaussiArg4 :: Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
gaussiArg4 Sig
depth Sig
rate b
f = Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b. ModArg4 a b => Sig -> a -> b -> ModArgOut4 a b
modArg4 Sig
depth (Sig -> Sig -> Sig -> SE Sig
forall a. SigOrD a => a -> a -> a -> SE a
gaussi Sig
1 Sig
1 Sig
rate) b
f
delGaussiArg1 :: (ModArg1 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delGaussiArg1 :: D -> D -> Sig -> Sig -> b -> ModArgOut1 (SE Sig) b
delGaussiArg1 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut1 (SE Sig) b
forall a b.
(SigSpace a, ModArg1 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut1 a b
delModArg1 D
delTime D
riseTime Sig
depth (Sig -> Sig -> Sig -> SE Sig
forall a. SigOrD a => a -> a -> a -> SE a
gaussi Sig
1 Sig
1 Sig
rate) b
f
delGaussiArg2 :: (ModArg2 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delGaussiArg2 :: D -> D -> Sig -> Sig -> b -> ModArgOut2 (SE Sig) b
delGaussiArg2 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut2 (SE Sig) b
forall a b.
(SigSpace a, ModArg2 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut2 a b
delModArg2 D
delTime D
riseTime Sig
depth (Sig -> Sig -> Sig -> SE Sig
forall a. SigOrD a => a -> a -> a -> SE a
gaussi Sig
1 Sig
1 Sig
rate) b
f
delGaussiArg3 :: (ModArg3 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delGaussiArg3 :: D -> D -> Sig -> Sig -> b -> ModArgOut3 (SE Sig) b
delGaussiArg3 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut3 (SE Sig) b
forall a b.
(SigSpace a, ModArg3 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut3 a b
delModArg3 D
delTime D
riseTime Sig
depth (Sig -> Sig -> Sig -> SE Sig
forall a. SigOrD a => a -> a -> a -> SE a
gaussi Sig
1 Sig
1 Sig
rate) b
f
delGaussiArg4 :: (ModArg4 (SE Sig) b) => D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delGaussiArg4 :: D -> D -> Sig -> Sig -> b -> ModArgOut4 (SE Sig) b
delGaussiArg4 D
delTime D
riseTime Sig
depth Sig
rate b
f = D -> D -> Sig -> SE Sig -> b -> ModArgOut4 (SE Sig) b
forall a b.
(SigSpace a, ModArg4 a b) =>
D -> D -> Sig -> a -> b -> ModArgOut4 a b
delModArg4 D
delTime D
riseTime Sig
depth (Sig -> Sig -> Sig -> SE Sig
forall a. SigOrD a => a -> a -> a -> SE a
gaussi Sig
1 Sig
1 Sig
rate) b
f
class ModArg1 a b where
type ModArgOut1 a b :: *
modArg1 :: Sig -> a -> b -> ModArgOut1 a b
instance ModArg1 Sig (Sig -> Sig) where
type ModArgOut1 Sig (Sig -> Sig) = Sig -> Sig
modArg1 :: Sig -> Sig -> (Sig -> Sig) -> ModArgOut1 Sig (Sig -> Sig)
modArg1 Sig
depth Sig
a Sig -> Sig
f = \Sig
x -> Sig -> Sig
f (Sig
x Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg1 Sig (Sig -> a -> Sig) where
type ModArgOut1 Sig (Sig -> a -> Sig) = Sig -> a -> Sig
modArg1 :: Sig -> Sig -> (Sig -> a -> Sig) -> ModArgOut1 Sig (Sig -> a -> Sig)
modArg1 Sig
depth Sig
a Sig -> a -> Sig
f = \Sig
x1 a
x2 -> Sig -> a -> Sig
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2
instance ModArg1 Sig (Sig -> a -> b -> Sig) where
type ModArgOut1 Sig (Sig -> a -> b -> Sig) = Sig -> a -> b -> Sig
modArg1 :: Sig
-> Sig
-> (Sig -> a -> b -> Sig)
-> ModArgOut1 Sig (Sig -> a -> b -> Sig)
modArg1 Sig
depth Sig
a Sig -> a -> b -> Sig
f = \Sig
x1 a
x2 b
x3 -> Sig -> a -> b -> Sig
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3
instance ModArg1 Sig (Sig -> a -> b -> c -> Sig) where
type ModArgOut1 Sig (Sig -> a -> b -> c -> Sig) = Sig -> a -> b -> c -> Sig
modArg1 :: Sig
-> Sig
-> (Sig -> a -> b -> c -> Sig)
-> ModArgOut1 Sig (Sig -> a -> b -> c -> Sig)
modArg1 Sig
depth Sig
a Sig -> a -> b -> c -> Sig
f = \Sig
x1 a
x2 b
x3 c
x4 -> Sig -> a -> b -> c -> Sig
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3 c
x4
instance ModArg1 Sig (Sig -> Sig2) where
type ModArgOut1 Sig (Sig -> Sig2) = Sig -> Sig2
modArg1 :: Sig -> Sig -> (Sig -> Sig2) -> ModArgOut1 Sig (Sig -> Sig2)
modArg1 Sig
depth Sig
a Sig -> Sig2
f = \Sig
x -> Sig -> Sig2
f (Sig
x Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg1 Sig (Sig -> a -> Sig2) where
type ModArgOut1 Sig (Sig -> a -> Sig2) = Sig -> a -> Sig2
modArg1 :: Sig
-> Sig -> (Sig -> a -> Sig2) -> ModArgOut1 Sig (Sig -> a -> Sig2)
modArg1 Sig
depth Sig
a Sig -> a -> Sig2
f = \Sig
x1 a
x2 -> Sig -> a -> Sig2
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2
instance ModArg1 Sig (Sig -> a -> b -> Sig2) where
type ModArgOut1 Sig (Sig -> a -> b -> Sig2) = Sig -> a -> b -> Sig2
modArg1 :: Sig
-> Sig
-> (Sig -> a -> b -> Sig2)
-> ModArgOut1 Sig (Sig -> a -> b -> Sig2)
modArg1 Sig
depth Sig
a Sig -> a -> b -> Sig2
f = \Sig
x1 a
x2 b
x3 -> Sig -> a -> b -> Sig2
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3
instance ModArg1 Sig (Sig -> a -> b -> c -> Sig2) where
type ModArgOut1 Sig (Sig -> a -> b -> c -> Sig2) = Sig -> a -> b -> c -> Sig2
modArg1 :: Sig
-> Sig
-> (Sig -> a -> b -> c -> Sig2)
-> ModArgOut1 Sig (Sig -> a -> b -> c -> Sig2)
modArg1 Sig
depth Sig
a Sig -> a -> b -> c -> Sig2
f = \Sig
x1 a
x2 b
x3 c
x4 -> Sig -> a -> b -> c -> Sig2
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3 c
x4
instance ModArg1 Sig (Sig -> SE Sig) where
type ModArgOut1 Sig (Sig -> SE Sig) = Sig -> SE Sig
modArg1 :: Sig -> Sig -> (Sig -> SE Sig) -> ModArgOut1 Sig (Sig -> SE Sig)
modArg1 Sig
depth Sig
a Sig -> SE Sig
f = \Sig
x -> Sig -> SE Sig
f (Sig
x Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg1 Sig (Sig -> a -> SE Sig) where
type ModArgOut1 Sig (Sig -> a -> SE Sig) = Sig -> a -> SE Sig
modArg1 :: Sig
-> Sig
-> (Sig -> a -> SE Sig)
-> ModArgOut1 Sig (Sig -> a -> SE Sig)
modArg1 Sig
depth Sig
a Sig -> a -> SE Sig
f = \Sig
x1 a
x2 -> Sig -> a -> SE Sig
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2
instance ModArg1 Sig (Sig -> a -> b -> SE Sig) where
type ModArgOut1 Sig (Sig -> a -> b -> SE Sig) = Sig -> a -> b -> SE Sig
modArg1 :: Sig
-> Sig
-> (Sig -> a -> b -> SE Sig)
-> ModArgOut1 Sig (Sig -> a -> b -> SE Sig)
modArg1 Sig
depth Sig
a Sig -> a -> b -> SE Sig
f = \Sig
x1 a
x2 b
x3 -> Sig -> a -> b -> SE Sig
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3
instance ModArg1 Sig (Sig -> a -> b -> c -> SE Sig) where
type ModArgOut1 Sig (Sig -> a -> b -> c -> SE Sig) = Sig -> a -> b -> c -> SE Sig
modArg1 :: Sig
-> Sig
-> (Sig -> a -> b -> c -> SE Sig)
-> ModArgOut1 Sig (Sig -> a -> b -> c -> SE Sig)
modArg1 Sig
depth Sig
a Sig -> a -> b -> c -> SE Sig
f = \Sig
x1 a
x2 b
x3 c
x4 -> Sig -> a -> b -> c -> SE Sig
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3 c
x4
instance ModArg1 Sig (Sig -> SE Sig2) where
type ModArgOut1 Sig (Sig -> SE Sig2) = Sig -> SE Sig2
modArg1 :: Sig -> Sig -> (Sig -> SE Sig2) -> ModArgOut1 Sig (Sig -> SE Sig2)
modArg1 Sig
depth Sig
a Sig -> SE Sig2
f = \Sig
x -> Sig -> SE Sig2
f (Sig
x Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg1 Sig (Sig -> a -> SE Sig2) where
type ModArgOut1 Sig (Sig -> a -> SE Sig2) = Sig -> a -> SE Sig2
modArg1 :: Sig
-> Sig
-> (Sig -> a -> SE Sig2)
-> ModArgOut1 Sig (Sig -> a -> SE Sig2)
modArg1 Sig
depth Sig
a Sig -> a -> SE Sig2
f = \Sig
x1 a
x2 -> Sig -> a -> SE Sig2
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2
instance ModArg1 Sig (Sig -> a -> b -> SE Sig2) where
type ModArgOut1 Sig (Sig -> a -> b -> SE Sig2) = Sig -> a -> b -> SE Sig2
modArg1 :: Sig
-> Sig
-> (Sig -> a -> b -> SE Sig2)
-> ModArgOut1 Sig (Sig -> a -> b -> SE Sig2)
modArg1 Sig
depth Sig
a Sig -> a -> b -> SE Sig2
f = \Sig
x1 a
x2 b
x3 -> Sig -> a -> b -> SE Sig2
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3
instance ModArg1 Sig (Sig -> a -> b -> c -> SE Sig2) where
type ModArgOut1 Sig (Sig -> a -> b -> c -> SE Sig2) = Sig -> a -> b -> c -> SE Sig2
modArg1 :: Sig
-> Sig
-> (Sig -> a -> b -> c -> SE Sig2)
-> ModArgOut1 Sig (Sig -> a -> b -> c -> SE Sig2)
modArg1 Sig
depth Sig
a Sig -> a -> b -> c -> SE Sig2
f = \Sig
x1 a
x2 b
x3 c
x4 -> Sig -> a -> b -> c -> SE Sig2
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3 c
x4
instance ModArg1 (SE Sig) (Sig -> Sig) where
type ModArgOut1 (SE Sig) (Sig -> Sig) = Sig -> SE Sig
modArg1 :: Sig -> SE Sig -> (Sig -> Sig) -> ModArgOut1 (SE Sig) (Sig -> Sig)
modArg1 Sig
depth SE Sig
ma Sig -> Sig
f = \Sig
x -> (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> Sig -> Sig
f (Sig
x Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))) SE Sig
ma
instance ModArg1 (SE Sig) (Sig -> a -> Sig) where
type ModArgOut1 (SE Sig) (Sig -> a -> Sig) = Sig -> a -> SE Sig
modArg1 :: Sig
-> SE Sig
-> (Sig -> a -> Sig)
-> ModArgOut1 (SE Sig) (Sig -> a -> Sig)
modArg1 Sig
depth SE Sig
ma Sig -> a -> Sig
f = \Sig
x1 a
x2 -> (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> Sig -> a -> Sig
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2) SE Sig
ma
instance ModArg1 (SE Sig) (Sig -> a -> b -> Sig) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> Sig) = Sig -> a -> b -> SE Sig
modArg1 :: Sig
-> SE Sig
-> (Sig -> a -> b -> Sig)
-> ModArgOut1 (SE Sig) (Sig -> a -> b -> Sig)
modArg1 Sig
depth SE Sig
ma Sig -> a -> b -> Sig
f = \Sig
x1 a
x2 b
x3 -> (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> Sig -> a -> b -> Sig
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3) SE Sig
ma
instance ModArg1 (SE Sig) (Sig -> a -> b -> c -> Sig) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> c -> Sig) = Sig -> a -> b -> c -> SE Sig
modArg1 :: Sig
-> SE Sig
-> (Sig -> a -> b -> c -> Sig)
-> ModArgOut1 (SE Sig) (Sig -> a -> b -> c -> Sig)
modArg1 Sig
depth SE Sig
ma Sig -> a -> b -> c -> Sig
f = \Sig
x1 a
x2 b
x3 c
x4 -> (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> Sig -> a -> b -> c -> Sig
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3 c
x4) SE Sig
ma
instance ModArg1 (SE Sig) (Sig -> Sig2) where
type ModArgOut1 (SE Sig) (Sig -> Sig2) = Sig -> SE Sig2
modArg1 :: Sig -> SE Sig -> (Sig -> Sig2) -> ModArgOut1 (SE Sig) (Sig -> Sig2)
modArg1 Sig
depth SE Sig
ma Sig -> Sig2
f = \Sig
x -> (Sig -> Sig2) -> SE Sig -> SE Sig2
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> Sig -> Sig2
f (Sig
x Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))) SE Sig
ma
instance ModArg1 (SE Sig) (Sig -> a -> Sig2) where
type ModArgOut1 (SE Sig) (Sig -> a -> Sig2) = Sig -> a -> SE Sig2
modArg1 :: Sig
-> SE Sig
-> (Sig -> a -> Sig2)
-> ModArgOut1 (SE Sig) (Sig -> a -> Sig2)
modArg1 Sig
depth SE Sig
ma Sig -> a -> Sig2
f = \Sig
x1 a
x2 -> (Sig -> Sig2) -> SE Sig -> SE Sig2
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> Sig -> a -> Sig2
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2) SE Sig
ma
instance ModArg1 (SE Sig) (Sig -> a -> b -> Sig2) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> Sig2) = Sig -> a -> b -> SE Sig2
modArg1 :: Sig
-> SE Sig
-> (Sig -> a -> b -> Sig2)
-> ModArgOut1 (SE Sig) (Sig -> a -> b -> Sig2)
modArg1 Sig
depth SE Sig
ma Sig -> a -> b -> Sig2
f = \Sig
x1 a
x2 b
x3 -> (Sig -> Sig2) -> SE Sig -> SE Sig2
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> Sig -> a -> b -> Sig2
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3) SE Sig
ma
instance ModArg1 (SE Sig) (Sig -> a -> b -> c -> Sig2) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> c -> Sig2) = Sig -> a -> b -> c -> SE Sig2
modArg1 :: Sig
-> SE Sig
-> (Sig -> a -> b -> c -> Sig2)
-> ModArgOut1 (SE Sig) (Sig -> a -> b -> c -> Sig2)
modArg1 Sig
depth SE Sig
ma Sig -> a -> b -> c -> Sig2
f = \Sig
x1 a
x2 b
x3 c
x4 -> (Sig -> Sig2) -> SE Sig -> SE Sig2
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> Sig -> a -> b -> c -> Sig2
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3 c
x4) SE Sig
ma
instance ModArg1 (SE Sig) (Sig -> SE Sig) where
type ModArgOut1 (SE Sig) (Sig -> SE Sig) = Sig -> SE Sig
modArg1 :: Sig
-> SE Sig -> (Sig -> SE Sig) -> ModArgOut1 (SE Sig) (Sig -> SE Sig)
modArg1 Sig
depth SE Sig
ma Sig -> SE Sig
f = \Sig
x -> SE Sig
ma SE Sig -> (Sig -> SE Sig) -> SE Sig
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> Sig -> SE Sig
f (Sig
x Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)))
instance ModArg1 (SE Sig) (Sig -> a -> SE Sig) where
type ModArgOut1 (SE Sig) (Sig -> a -> SE Sig) = Sig -> a -> SE Sig
modArg1 :: Sig
-> SE Sig
-> (Sig -> a -> SE Sig)
-> ModArgOut1 (SE Sig) (Sig -> a -> SE Sig)
modArg1 Sig
depth SE Sig
ma Sig -> a -> SE Sig
f = \Sig
x1 a
x2 -> SE Sig
ma SE Sig -> (Sig -> SE Sig) -> SE Sig
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> Sig -> a -> SE Sig
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2)
instance ModArg1 (SE Sig) (Sig -> a -> b -> SE Sig) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> SE Sig) = Sig -> a -> b -> SE Sig
modArg1 :: Sig
-> SE Sig
-> (Sig -> a -> b -> SE Sig)
-> ModArgOut1 (SE Sig) (Sig -> a -> b -> SE Sig)
modArg1 Sig
depth SE Sig
ma Sig -> a -> b -> SE Sig
f = \Sig
x1 a
x2 b
x3 -> SE Sig
ma SE Sig -> (Sig -> SE Sig) -> SE Sig
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> Sig -> a -> b -> SE Sig
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3)
instance ModArg1 (SE Sig) (Sig -> a -> b -> c -> SE Sig) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> c -> SE Sig) = Sig -> a -> b -> c -> SE Sig
modArg1 :: Sig
-> SE Sig
-> (Sig -> a -> b -> c -> SE Sig)
-> ModArgOut1 (SE Sig) (Sig -> a -> b -> c -> SE Sig)
modArg1 Sig
depth SE Sig
ma Sig -> a -> b -> c -> SE Sig
f = \Sig
x1 a
x2 b
x3 c
x4 -> SE Sig
ma SE Sig -> (Sig -> SE Sig) -> SE Sig
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> Sig -> a -> b -> c -> SE Sig
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3 c
x4)
instance ModArg1 (SE Sig) (Sig -> SE Sig2) where
type ModArgOut1 (SE Sig) (Sig -> SE Sig2) = Sig -> SE Sig2
modArg1 :: Sig
-> SE Sig
-> (Sig -> SE Sig2)
-> ModArgOut1 (SE Sig) (Sig -> SE Sig2)
modArg1 Sig
depth SE Sig
ma Sig -> SE Sig2
f = \Sig
x -> SE Sig
ma SE Sig -> (Sig -> SE Sig2) -> SE Sig2
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> Sig -> SE Sig2
f (Sig
x Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)))
instance ModArg1 (SE Sig) (Sig -> a -> SE Sig2) where
type ModArgOut1 (SE Sig) (Sig -> a -> SE Sig2) = Sig -> a -> SE Sig2
modArg1 :: Sig
-> SE Sig
-> (Sig -> a -> SE Sig2)
-> ModArgOut1 (SE Sig) (Sig -> a -> SE Sig2)
modArg1 Sig
depth SE Sig
ma Sig -> a -> SE Sig2
f = \Sig
x1 a
x2 -> SE Sig
ma SE Sig -> (Sig -> SE Sig2) -> SE Sig2
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> Sig -> a -> SE Sig2
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2)
instance ModArg1 (SE Sig) (Sig -> a -> b -> SE Sig2) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> SE Sig2) = Sig -> a -> b -> SE Sig2
modArg1 :: Sig
-> SE Sig
-> (Sig -> a -> b -> SE Sig2)
-> ModArgOut1 (SE Sig) (Sig -> a -> b -> SE Sig2)
modArg1 Sig
depth SE Sig
ma Sig -> a -> b -> SE Sig2
f = \Sig
x1 a
x2 b
x3 -> SE Sig
ma SE Sig -> (Sig -> SE Sig2) -> SE Sig2
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> Sig -> a -> b -> SE Sig2
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3)
instance ModArg1 (SE Sig) (Sig -> a -> b -> c -> SE Sig2) where
type ModArgOut1 (SE Sig) (Sig -> a -> b -> c -> SE Sig2) = Sig -> a -> b -> c -> SE Sig2
modArg1 :: Sig
-> SE Sig
-> (Sig -> a -> b -> c -> SE Sig2)
-> ModArgOut1 (SE Sig) (Sig -> a -> b -> c -> SE Sig2)
modArg1 Sig
depth SE Sig
ma Sig -> a -> b -> c -> SE Sig2
f = \Sig
x1 a
x2 b
x3 c
x4 -> SE Sig
ma SE Sig -> (Sig -> SE Sig2) -> SE Sig2
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> Sig -> a -> b -> c -> SE Sig2
f (Sig
x1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) a
x2 b
x3 c
x4)
class ModArg2 a b where
type ModArgOut2 a b :: *
modArg2 :: Sig -> a -> b -> ModArgOut2 a b
instance ModArg2 Sig (a -> Sig -> Sig) where
type ModArgOut2 Sig (a -> Sig -> Sig) = a -> Sig -> Sig
modArg2 :: Sig -> Sig -> (a -> Sig -> Sig) -> ModArgOut2 Sig (a -> Sig -> Sig)
modArg2 Sig
depth Sig
a a -> Sig -> Sig
f = \a
x1 Sig
x2 -> a -> Sig -> Sig
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg2 Sig (a -> Sig -> b -> Sig) where
type ModArgOut2 Sig (a -> Sig -> b -> Sig) = a -> Sig -> b -> Sig
modArg2 :: Sig
-> Sig
-> (a -> Sig -> b -> Sig)
-> ModArgOut2 Sig (a -> Sig -> b -> Sig)
modArg2 Sig
depth Sig
a a -> Sig -> b -> Sig
f = \a
x1 Sig
x2 b
x3 -> a -> Sig -> b -> Sig
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3
instance ModArg2 Sig (a -> Sig -> b -> c -> Sig) where
type ModArgOut2 Sig (a -> Sig -> b -> c -> Sig) = a -> Sig -> b -> c -> Sig
modArg2 :: Sig
-> Sig
-> (a -> Sig -> b -> c -> Sig)
-> ModArgOut2 Sig (a -> Sig -> b -> c -> Sig)
modArg2 Sig
depth Sig
a a -> Sig -> b -> c -> Sig
f = \a
x1 Sig
x2 b
x3 c
x4 -> a -> Sig -> b -> c -> Sig
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3 c
x4
instance ModArg2 Sig (a -> Sig -> Sig2) where
type ModArgOut2 Sig (a -> Sig -> Sig2) = a -> Sig -> Sig2
modArg2 :: Sig
-> Sig -> (a -> Sig -> Sig2) -> ModArgOut2 Sig (a -> Sig -> Sig2)
modArg2 Sig
depth Sig
a a -> Sig -> Sig2
f = \a
x1 Sig
x2 -> a -> Sig -> Sig2
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg2 Sig (a -> Sig -> b -> Sig2) where
type ModArgOut2 Sig (a -> Sig -> b -> Sig2) = a -> Sig -> b -> Sig2
modArg2 :: Sig
-> Sig
-> (a -> Sig -> b -> Sig2)
-> ModArgOut2 Sig (a -> Sig -> b -> Sig2)
modArg2 Sig
depth Sig
a a -> Sig -> b -> Sig2
f = \a
x1 Sig
x2 b
x3 -> a -> Sig -> b -> Sig2
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3
instance ModArg2 Sig (a -> Sig -> b -> c -> Sig2) where
type ModArgOut2 Sig (a -> Sig -> b -> c -> Sig2) = a -> Sig -> b -> c -> Sig2
modArg2 :: Sig
-> Sig
-> (a -> Sig -> b -> c -> Sig2)
-> ModArgOut2 Sig (a -> Sig -> b -> c -> Sig2)
modArg2 Sig
depth Sig
a a -> Sig -> b -> c -> Sig2
f = \a
x1 Sig
x2 b
x3 c
x4 -> a -> Sig -> b -> c -> Sig2
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3 c
x4
instance ModArg2 Sig (a -> Sig -> SE Sig) where
type ModArgOut2 Sig (a -> Sig -> SE Sig) = a -> Sig -> SE Sig
modArg2 :: Sig
-> Sig
-> (a -> Sig -> SE Sig)
-> ModArgOut2 Sig (a -> Sig -> SE Sig)
modArg2 Sig
depth Sig
a a -> Sig -> SE Sig
f = \a
x1 Sig
x2 -> a -> Sig -> SE Sig
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg2 Sig (a -> Sig -> b -> SE Sig) where
type ModArgOut2 Sig (a -> Sig -> b -> SE Sig) = a -> Sig -> b -> SE Sig
modArg2 :: Sig
-> Sig
-> (a -> Sig -> b -> SE Sig)
-> ModArgOut2 Sig (a -> Sig -> b -> SE Sig)
modArg2 Sig
depth Sig
a a -> Sig -> b -> SE Sig
f = \a
x1 Sig
x2 b
x3 -> a -> Sig -> b -> SE Sig
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3
instance ModArg2 Sig (a -> Sig -> b -> c -> SE Sig) where
type ModArgOut2 Sig (a -> Sig -> b -> c -> SE Sig) = a -> Sig -> b -> c -> SE Sig
modArg2 :: Sig
-> Sig
-> (a -> Sig -> b -> c -> SE Sig)
-> ModArgOut2 Sig (a -> Sig -> b -> c -> SE Sig)
modArg2 Sig
depth Sig
a a -> Sig -> b -> c -> SE Sig
f = \a
x1 Sig
x2 b
x3 c
x4 -> a -> Sig -> b -> c -> SE Sig
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3 c
x4
instance ModArg2 Sig (a -> Sig -> SE Sig2) where
type ModArgOut2 Sig (a -> Sig -> SE Sig2) = a -> Sig -> SE Sig2
modArg2 :: Sig
-> Sig
-> (a -> Sig -> SE Sig2)
-> ModArgOut2 Sig (a -> Sig -> SE Sig2)
modArg2 Sig
depth Sig
a a -> Sig -> SE Sig2
f = \a
x1 Sig
x2 -> a -> Sig -> SE Sig2
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg2 Sig (a -> Sig -> b -> SE Sig2) where
type ModArgOut2 Sig (a -> Sig -> b -> SE Sig2) = a -> Sig -> b -> SE Sig2
modArg2 :: Sig
-> Sig
-> (a -> Sig -> b -> SE Sig2)
-> ModArgOut2 Sig (a -> Sig -> b -> SE Sig2)
modArg2 Sig
depth Sig
a a -> Sig -> b -> SE Sig2
f = \a
x1 Sig
x2 b
x3 -> a -> Sig -> b -> SE Sig2
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3
instance ModArg2 Sig (a -> Sig -> b -> c -> SE Sig2) where
type ModArgOut2 Sig (a -> Sig -> b -> c -> SE Sig2) = a -> Sig -> b -> c -> SE Sig2
modArg2 :: Sig
-> Sig
-> (a -> Sig -> b -> c -> SE Sig2)
-> ModArgOut2 Sig (a -> Sig -> b -> c -> SE Sig2)
modArg2 Sig
depth Sig
a a -> Sig -> b -> c -> SE Sig2
f = \a
x1 Sig
x2 b
x3 c
x4 -> a -> Sig -> b -> c -> SE Sig2
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3 c
x4
instance ModArg2 (SE Sig) (a -> Sig -> Sig) where
type ModArgOut2 (SE Sig) (a -> Sig -> Sig) = a -> Sig -> SE Sig
modArg2 :: Sig
-> SE Sig
-> (a -> Sig -> Sig)
-> ModArgOut2 (SE Sig) (a -> Sig -> Sig)
modArg2 Sig
depth SE Sig
ma a -> Sig -> Sig
f = \a
x1 Sig
x2 -> (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> a -> Sig -> Sig
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))) SE Sig
ma
instance ModArg2 (SE Sig) (a -> Sig -> b -> Sig) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> Sig) = a -> Sig -> b -> SE Sig
modArg2 :: Sig
-> SE Sig
-> (a -> Sig -> b -> Sig)
-> ModArgOut2 (SE Sig) (a -> Sig -> b -> Sig)
modArg2 Sig
depth SE Sig
ma a -> Sig -> b -> Sig
f = \a
x1 Sig
x2 b
x3 -> (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> a -> Sig -> b -> Sig
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3) SE Sig
ma
instance ModArg2 (SE Sig) (a -> Sig -> b -> c -> Sig) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> c -> Sig) = a -> Sig -> b -> c -> SE Sig
modArg2 :: Sig
-> SE Sig
-> (a -> Sig -> b -> c -> Sig)
-> ModArgOut2 (SE Sig) (a -> Sig -> b -> c -> Sig)
modArg2 Sig
depth SE Sig
ma a -> Sig -> b -> c -> Sig
f = \a
x1 Sig
x2 b
x3 c
x4 -> (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> a -> Sig -> b -> c -> Sig
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3 c
x4) SE Sig
ma
instance ModArg2 (SE Sig) (a -> Sig -> Sig2) where
type ModArgOut2 (SE Sig) (a -> Sig -> Sig2) = a -> Sig -> SE Sig2
modArg2 :: Sig
-> SE Sig
-> (a -> Sig -> Sig2)
-> ModArgOut2 (SE Sig) (a -> Sig -> Sig2)
modArg2 Sig
depth SE Sig
ma a -> Sig -> Sig2
f = \a
x1 Sig
x2 -> (Sig -> Sig2) -> SE Sig -> SE Sig2
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> a -> Sig -> Sig2
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))) SE Sig
ma
instance ModArg2 (SE Sig) (a -> Sig -> b -> Sig2) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> Sig2) = a -> Sig -> b -> SE Sig2
modArg2 :: Sig
-> SE Sig
-> (a -> Sig -> b -> Sig2)
-> ModArgOut2 (SE Sig) (a -> Sig -> b -> Sig2)
modArg2 Sig
depth SE Sig
ma a -> Sig -> b -> Sig2
f = \a
x1 Sig
x2 b
x3 -> (Sig -> Sig2) -> SE Sig -> SE Sig2
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> a -> Sig -> b -> Sig2
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3) SE Sig
ma
instance ModArg2 (SE Sig) (a -> Sig -> b -> c -> Sig2) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> c -> Sig2) = a -> Sig -> b -> c -> SE Sig2
modArg2 :: Sig
-> SE Sig
-> (a -> Sig -> b -> c -> Sig2)
-> ModArgOut2 (SE Sig) (a -> Sig -> b -> c -> Sig2)
modArg2 Sig
depth SE Sig
ma a -> Sig -> b -> c -> Sig2
f = \a
x1 Sig
x2 b
x3 c
x4 -> (Sig -> Sig2) -> SE Sig -> SE Sig2
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> a -> Sig -> b -> c -> Sig2
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3 c
x4) SE Sig
ma
instance ModArg2 (SE Sig) (a -> Sig -> SE Sig) where
type ModArgOut2 (SE Sig) (a -> Sig -> SE Sig) = a -> Sig -> SE Sig
modArg2 :: Sig
-> SE Sig
-> (a -> Sig -> SE Sig)
-> ModArgOut2 (SE Sig) (a -> Sig -> SE Sig)
modArg2 Sig
depth SE Sig
ma a -> Sig -> SE Sig
f = \a
x1 Sig
x2 -> SE Sig
ma SE Sig -> (Sig -> SE Sig) -> SE Sig
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> a -> Sig -> SE Sig
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)))
instance ModArg2 (SE Sig) (a -> Sig -> b -> SE Sig) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> SE Sig) = a -> Sig -> b -> SE Sig
modArg2 :: Sig
-> SE Sig
-> (a -> Sig -> b -> SE Sig)
-> ModArgOut2 (SE Sig) (a -> Sig -> b -> SE Sig)
modArg2 Sig
depth SE Sig
ma a -> Sig -> b -> SE Sig
f = \a
x1 Sig
x2 b
x3 -> SE Sig
ma SE Sig -> (Sig -> SE Sig) -> SE Sig
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> a -> Sig -> b -> SE Sig
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3)
instance ModArg2 (SE Sig) (a -> Sig -> b -> c -> SE Sig) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> c -> SE Sig) = a -> Sig -> b -> c -> SE Sig
modArg2 :: Sig
-> SE Sig
-> (a -> Sig -> b -> c -> SE Sig)
-> ModArgOut2 (SE Sig) (a -> Sig -> b -> c -> SE Sig)
modArg2 Sig
depth SE Sig
ma a -> Sig -> b -> c -> SE Sig
f = \a
x1 Sig
x2 b
x3 c
x4 -> SE Sig
ma SE Sig -> (Sig -> SE Sig) -> SE Sig
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> a -> Sig -> b -> c -> SE Sig
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3 c
x4)
instance ModArg2 (SE Sig) (a -> Sig -> SE Sig2) where
type ModArgOut2 (SE Sig) (a -> Sig -> SE Sig2) = a -> Sig -> SE Sig2
modArg2 :: Sig
-> SE Sig
-> (a -> Sig -> SE Sig2)
-> ModArgOut2 (SE Sig) (a -> Sig -> SE Sig2)
modArg2 Sig
depth SE Sig
ma a -> Sig -> SE Sig2
f = \a
x1 Sig
x2 -> SE Sig
ma SE Sig -> (Sig -> SE Sig2) -> SE Sig2
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> a -> Sig -> SE Sig2
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)))
instance ModArg2 (SE Sig) (a -> Sig -> b -> SE Sig2) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> SE Sig2) = a -> Sig -> b -> SE Sig2
modArg2 :: Sig
-> SE Sig
-> (a -> Sig -> b -> SE Sig2)
-> ModArgOut2 (SE Sig) (a -> Sig -> b -> SE Sig2)
modArg2 Sig
depth SE Sig
ma a -> Sig -> b -> SE Sig2
f = \a
x1 Sig
x2 b
x3 -> SE Sig
ma SE Sig -> (Sig -> SE Sig2) -> SE Sig2
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> a -> Sig -> b -> SE Sig2
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3)
instance ModArg2 (SE Sig) (a -> Sig -> b -> c -> SE Sig2) where
type ModArgOut2 (SE Sig) (a -> Sig -> b -> c -> SE Sig2) = a -> Sig -> b -> c -> SE Sig2
modArg2 :: Sig
-> SE Sig
-> (a -> Sig -> b -> c -> SE Sig2)
-> ModArgOut2 (SE Sig) (a -> Sig -> b -> c -> SE Sig2)
modArg2 Sig
depth SE Sig
ma a -> Sig -> b -> c -> SE Sig2
f = \a
x1 Sig
x2 b
x3 c
x4 -> SE Sig
ma SE Sig -> (Sig -> SE Sig2) -> SE Sig2
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> a -> Sig -> b -> c -> SE Sig2
f a
x1 (Sig
x2 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) b
x3 c
x4)
class ModArg3 a b where
type ModArgOut3 a b :: *
modArg3 :: Sig -> a -> b -> ModArgOut3 a b
instance ModArg3 Sig (a -> b -> Sig -> Sig) where
type ModArgOut3 Sig (a -> b -> Sig -> Sig) = a -> b -> Sig -> Sig
modArg3 :: Sig
-> Sig
-> (a -> b -> Sig -> Sig)
-> ModArgOut3 Sig (a -> b -> Sig -> Sig)
modArg3 Sig
depth Sig
a a -> b -> Sig -> Sig
f = \a
x1 b
x2 Sig
x3 -> a -> b -> Sig -> Sig
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg3 Sig (a -> b -> Sig -> c -> Sig) where
type ModArgOut3 Sig (a -> b -> Sig -> c -> Sig) = a -> b -> Sig -> c -> Sig
modArg3 :: Sig
-> Sig
-> (a -> b -> Sig -> c -> Sig)
-> ModArgOut3 Sig (a -> b -> Sig -> c -> Sig)
modArg3 Sig
depth Sig
a a -> b -> Sig -> c -> Sig
f = \a
x1 b
x2 Sig
x3 c
x4 -> a -> b -> Sig -> c -> Sig
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) c
x4
instance ModArg3 Sig (a -> b -> Sig -> Sig2) where
type ModArgOut3 Sig (a -> b -> Sig -> Sig2) = a -> b -> Sig -> Sig2
modArg3 :: Sig
-> Sig
-> (a -> b -> Sig -> Sig2)
-> ModArgOut3 Sig (a -> b -> Sig -> Sig2)
modArg3 Sig
depth Sig
a a -> b -> Sig -> Sig2
f = \a
x1 b
x2 Sig
x3 -> a -> b -> Sig -> Sig2
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg3 Sig (a -> b -> Sig -> c -> Sig2) where
type ModArgOut3 Sig (a -> b -> Sig -> c -> Sig2) = a -> b -> Sig -> c -> Sig2
modArg3 :: Sig
-> Sig
-> (a -> b -> Sig -> c -> Sig2)
-> ModArgOut3 Sig (a -> b -> Sig -> c -> Sig2)
modArg3 Sig
depth Sig
a a -> b -> Sig -> c -> Sig2
f = \a
x1 b
x2 Sig
x3 c
x4 -> a -> b -> Sig -> c -> Sig2
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) c
x4
instance ModArg3 Sig (a -> b -> Sig -> SE Sig) where
type ModArgOut3 Sig (a -> b -> Sig -> SE Sig) = a -> b -> Sig -> SE Sig
modArg3 :: Sig
-> Sig
-> (a -> b -> Sig -> SE Sig)
-> ModArgOut3 Sig (a -> b -> Sig -> SE Sig)
modArg3 Sig
depth Sig
a a -> b -> Sig -> SE Sig
f = \a
x1 b
x2 Sig
x3 -> a -> b -> Sig -> SE Sig
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg3 Sig (a -> b -> Sig -> c -> SE Sig) where
type ModArgOut3 Sig (a -> b -> Sig -> c -> SE Sig) = a -> b -> Sig -> c -> SE Sig
modArg3 :: Sig
-> Sig
-> (a -> b -> Sig -> c -> SE Sig)
-> ModArgOut3 Sig (a -> b -> Sig -> c -> SE Sig)
modArg3 Sig
depth Sig
a a -> b -> Sig -> c -> SE Sig
f = \a
x1 b
x2 Sig
x3 c
x4 -> a -> b -> Sig -> c -> SE Sig
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) c
x4
instance ModArg3 Sig (a -> b -> Sig -> SE Sig2) where
type ModArgOut3 Sig (a -> b -> Sig -> SE Sig2) = a -> b -> Sig -> SE Sig2
modArg3 :: Sig
-> Sig
-> (a -> b -> Sig -> SE Sig2)
-> ModArgOut3 Sig (a -> b -> Sig -> SE Sig2)
modArg3 Sig
depth Sig
a a -> b -> Sig -> SE Sig2
f = \a
x1 b
x2 Sig
x3 -> a -> b -> Sig -> SE Sig2
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg3 Sig (a -> b -> Sig -> c -> SE Sig2) where
type ModArgOut3 Sig (a -> b -> Sig -> c -> SE Sig2) = a -> b -> Sig -> c -> SE Sig2
modArg3 :: Sig
-> Sig
-> (a -> b -> Sig -> c -> SE Sig2)
-> ModArgOut3 Sig (a -> b -> Sig -> c -> SE Sig2)
modArg3 Sig
depth Sig
a a -> b -> Sig -> c -> SE Sig2
f = \a
x1 b
x2 Sig
x3 c
x4 -> a -> b -> Sig -> c -> SE Sig2
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) c
x4
instance ModArg3 (SE Sig) (a -> b -> Sig -> Sig) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> Sig) = a -> b -> Sig -> SE Sig
modArg3 :: Sig
-> SE Sig
-> (a -> b -> Sig -> Sig)
-> ModArgOut3 (SE Sig) (a -> b -> Sig -> Sig)
modArg3 Sig
depth SE Sig
ma a -> b -> Sig -> Sig
f = \a
x1 b
x2 Sig
x3 -> (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> a -> b -> Sig -> Sig
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))) SE Sig
ma
instance ModArg3 (SE Sig) (a -> b -> Sig -> c -> Sig) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> c -> Sig) = a -> b -> Sig -> c -> SE Sig
modArg3 :: Sig
-> SE Sig
-> (a -> b -> Sig -> c -> Sig)
-> ModArgOut3 (SE Sig) (a -> b -> Sig -> c -> Sig)
modArg3 Sig
depth SE Sig
ma a -> b -> Sig -> c -> Sig
f = \a
x1 b
x2 Sig
x3 c
x4 -> (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> a -> b -> Sig -> c -> Sig
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) c
x4) SE Sig
ma
instance ModArg3 (SE Sig) (a -> b -> Sig -> Sig2) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> Sig2) = a -> b -> Sig -> SE Sig2
modArg3 :: Sig
-> SE Sig
-> (a -> b -> Sig -> Sig2)
-> ModArgOut3 (SE Sig) (a -> b -> Sig -> Sig2)
modArg3 Sig
depth SE Sig
ma a -> b -> Sig -> Sig2
f = \a
x1 b
x2 Sig
x3 -> (Sig -> Sig2) -> SE Sig -> SE Sig2
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> a -> b -> Sig -> Sig2
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))) SE Sig
ma
instance ModArg3 (SE Sig) (a -> b -> Sig -> c -> Sig2) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> c -> Sig2) = a -> b -> Sig -> c -> SE Sig2
modArg3 :: Sig
-> SE Sig
-> (a -> b -> Sig -> c -> Sig2)
-> ModArgOut3 (SE Sig) (a -> b -> Sig -> c -> Sig2)
modArg3 Sig
depth SE Sig
ma a -> b -> Sig -> c -> Sig2
f = \a
x1 b
x2 Sig
x3 c
x4 -> (Sig -> Sig2) -> SE Sig -> SE Sig2
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> a -> b -> Sig -> c -> Sig2
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) c
x4) SE Sig
ma
instance ModArg3 (SE Sig) (a -> b -> Sig -> SE Sig) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> SE Sig) = a -> b -> Sig -> SE Sig
modArg3 :: Sig
-> SE Sig
-> (a -> b -> Sig -> SE Sig)
-> ModArgOut3 (SE Sig) (a -> b -> Sig -> SE Sig)
modArg3 Sig
depth SE Sig
ma a -> b -> Sig -> SE Sig
f = \a
x1 b
x2 Sig
x3 -> SE Sig
ma SE Sig -> (Sig -> SE Sig) -> SE Sig
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> a -> b -> Sig -> SE Sig
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)))
instance ModArg3 (SE Sig) (a -> b -> Sig -> c -> SE Sig) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> c -> SE Sig) = a -> b -> Sig -> c -> SE Sig
modArg3 :: Sig
-> SE Sig
-> (a -> b -> Sig -> c -> SE Sig)
-> ModArgOut3 (SE Sig) (a -> b -> Sig -> c -> SE Sig)
modArg3 Sig
depth SE Sig
ma a -> b -> Sig -> c -> SE Sig
f = \a
x1 b
x2 Sig
x3 c
x4 -> SE Sig
ma SE Sig -> (Sig -> SE Sig) -> SE Sig
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> a -> b -> Sig -> c -> SE Sig
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) c
x4)
instance ModArg3 (SE Sig) (a -> b -> Sig -> SE Sig2) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> SE Sig2) = a -> b -> Sig -> SE Sig2
modArg3 :: Sig
-> SE Sig
-> (a -> b -> Sig -> SE Sig2)
-> ModArgOut3 (SE Sig) (a -> b -> Sig -> SE Sig2)
modArg3 Sig
depth SE Sig
ma a -> b -> Sig -> SE Sig2
f = \a
x1 b
x2 Sig
x3 -> SE Sig
ma SE Sig -> (Sig -> SE Sig2) -> SE Sig2
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> a -> b -> Sig -> SE Sig2
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)))
instance ModArg3 (SE Sig) (a -> b -> Sig -> c -> SE Sig2) where
type ModArgOut3 (SE Sig) (a -> b -> Sig -> c -> SE Sig2) = a -> b -> Sig -> c -> SE Sig2
modArg3 :: Sig
-> SE Sig
-> (a -> b -> Sig -> c -> SE Sig2)
-> ModArgOut3 (SE Sig) (a -> b -> Sig -> c -> SE Sig2)
modArg3 Sig
depth SE Sig
ma a -> b -> Sig -> c -> SE Sig2
f = \a
x1 b
x2 Sig
x3 c
x4 -> SE Sig
ma SE Sig -> (Sig -> SE Sig2) -> SE Sig2
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> a -> b -> Sig -> c -> SE Sig2
f a
x1 b
x2 (Sig
x3 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)) c
x4)
class ModArg4 a b where
type ModArgOut4 a b :: *
modArg4 :: Sig -> a -> b -> ModArgOut4 a b
instance ModArg4 Sig (a -> b -> c -> Sig -> Sig) where
type ModArgOut4 Sig (a -> b -> c -> Sig -> Sig) = a -> b -> c -> Sig -> Sig
modArg4 :: Sig
-> Sig
-> (a -> b -> c -> Sig -> Sig)
-> ModArgOut4 Sig (a -> b -> c -> Sig -> Sig)
modArg4 Sig
depth Sig
a a -> b -> c -> Sig -> Sig
f = \a
x1 b
x2 c
x3 Sig
x4 -> a -> b -> c -> Sig -> Sig
f a
x1 b
x2 c
x3 (Sig
x4 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg4 Sig (a -> b -> c -> Sig -> Sig2) where
type ModArgOut4 Sig (a -> b -> c -> Sig -> Sig2) = a -> b -> c -> Sig -> Sig2
modArg4 :: Sig
-> Sig
-> (a -> b -> c -> Sig -> Sig2)
-> ModArgOut4 Sig (a -> b -> c -> Sig -> Sig2)
modArg4 Sig
depth Sig
a a -> b -> c -> Sig -> Sig2
f = \a
x1 b
x2 c
x3 Sig
x4 -> a -> b -> c -> Sig -> Sig2
f a
x1 b
x2 c
x3 (Sig
x4 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg4 Sig (a -> b -> c -> Sig -> SE Sig) where
type ModArgOut4 Sig (a -> b -> c -> Sig -> SE Sig) = a -> b -> c -> Sig -> SE Sig
modArg4 :: Sig
-> Sig
-> (a -> b -> c -> Sig -> SE Sig)
-> ModArgOut4 Sig (a -> b -> c -> Sig -> SE Sig)
modArg4 Sig
depth Sig
a a -> b -> c -> Sig -> SE Sig
f = \a
x1 b
x2 c
x3 Sig
x4 -> a -> b -> c -> Sig -> SE Sig
f a
x1 b
x2 c
x3 (Sig
x4 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg4 Sig (a -> b -> c -> Sig -> SE Sig2) where
type ModArgOut4 Sig (a -> b -> c -> Sig -> SE Sig2) = a -> b -> c -> Sig -> SE Sig2
modArg4 :: Sig
-> Sig
-> (a -> b -> c -> Sig -> SE Sig2)
-> ModArgOut4 Sig (a -> b -> c -> Sig -> SE Sig2)
modArg4 Sig
depth Sig
a a -> b -> c -> Sig -> SE Sig2
f = \a
x1 b
x2 c
x3 Sig
x4 -> a -> b -> c -> Sig -> SE Sig2
f a
x1 b
x2 c
x3 (Sig
x4 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))
instance ModArg4 (SE Sig) (a -> b -> c -> Sig -> Sig) where
type ModArgOut4 (SE Sig) (a -> b -> c -> Sig -> Sig) = a -> b -> c -> Sig -> SE Sig
modArg4 :: Sig
-> SE Sig
-> (a -> b -> c -> Sig -> Sig)
-> ModArgOut4 (SE Sig) (a -> b -> c -> Sig -> Sig)
modArg4 Sig
depth SE Sig
ma a -> b -> c -> Sig -> Sig
f = \a
x1 b
x2 c
x3 Sig
x4 -> (Sig -> Sig) -> SE Sig -> SE Sig
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> a -> b -> c -> Sig -> Sig
f a
x1 b
x2 c
x3 (Sig
x4 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))) SE Sig
ma
instance ModArg4 (SE Sig) (a -> b -> c -> Sig -> Sig2) where
type ModArgOut4 (SE Sig) (a -> b -> c -> Sig -> Sig2) = a -> b -> c -> Sig -> SE Sig2
modArg4 :: Sig
-> SE Sig
-> (a -> b -> c -> Sig -> Sig2)
-> ModArgOut4 (SE Sig) (a -> b -> c -> Sig -> Sig2)
modArg4 Sig
depth SE Sig
ma a -> b -> c -> Sig -> Sig2
f = \a
x1 b
x2 c
x3 Sig
x4 -> (Sig -> Sig2) -> SE Sig -> SE Sig2
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap (\Sig
a -> a -> b -> c -> Sig -> Sig2
f a
x1 b
x2 c
x3 (Sig
x4 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a))) SE Sig
ma
instance ModArg4 (SE Sig) (a -> b -> c -> Sig -> SE Sig) where
type ModArgOut4 (SE Sig) (a -> b -> c -> Sig -> SE Sig) = a -> b -> c -> Sig -> SE Sig
modArg4 :: Sig
-> SE Sig
-> (a -> b -> c -> Sig -> SE Sig)
-> ModArgOut4 (SE Sig) (a -> b -> c -> Sig -> SE Sig)
modArg4 Sig
depth SE Sig
ma a -> b -> c -> Sig -> SE Sig
f = \a
x1 b
x2 c
x3 Sig
x4 -> SE Sig
ma SE Sig -> (Sig -> SE Sig) -> SE Sig
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> a -> b -> c -> Sig -> SE Sig
f a
x1 b
x2 c
x3 (Sig
x4 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)))
instance ModArg4 (SE Sig) (a -> b -> c -> Sig -> SE Sig2) where
type ModArgOut4 (SE Sig) (a -> b -> c -> Sig -> SE Sig2) = a -> b -> c -> Sig -> SE Sig2
modArg4 :: Sig
-> SE Sig
-> (a -> b -> c -> Sig -> SE Sig2)
-> ModArgOut4 (SE Sig) (a -> b -> c -> Sig -> SE Sig2)
modArg4 Sig
depth SE Sig
ma a -> b -> c -> Sig -> SE Sig2
f = \a
x1 b
x2 c
x3 Sig
x4 -> SE Sig
ma SE Sig -> (Sig -> SE Sig2) -> SE Sig2
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (\Sig
a -> a -> b -> c -> Sig -> SE Sig2
f a
x1 b
x2 c
x3 (Sig
x4 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* (Sig
1 Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
+ Sig
depth Sig -> Sig -> Sig
forall a. Num a => a -> a -> a
* Sig
a)))