higher order functions and the need for true type comparison