Global and reduce implementation

Hey Kamil what do you think off adding these two opcodes?

Both of these operations are lossy, and I am just doing my best to not lose any information. I am using these two opcodes right now, and they are really useful for me.

If you are happy with names and the implementation please feel free to change as needed! I am going to write some tests and push them on this branch.

thanks
Why Thunk? Does it have any meaning or is it just arbitrary?

I would probably call this "Call" and rename the "Class" member to "Callable"