Bar recursion versus polymorphism