prediction is now templated, and somehow about 15% faster as a result :)