I'm trying to figure out why this code is not working as intended.
I want to make a function run that takes as input some function and returns that function applied to itself.
run::(t1->t2)->t2
run a = a a
The types included are supposed to be general because I want this to work on anything, but I'm getting and infinite type error when I try and I'm not sure why.