HOTGP -- Higher-Order Typed Genetic Programming