strange template error when using reduction and providing a user defined operator, need to fix it