finished opencl things
fixed some monad transformer stuff... can't figure out how to combine
two transformer stacks