A big nasty version of compute() that might actually work!