Simplify type signtatures by creating type class ArityC instead of T_replicate

It's fundamental enough to deserve its own type class
Add witness for the: (Fn (xs++ys) r ~ Fn xs (Fn ys r)
Implement uncurryMany out of type class