Reduce added

In first implementation of reduce input and output types should be the same. I still don't know how to cast seamlessly e.g. Integer -> Long or something.