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