Yeah, I was a bit too daft to think of a suitable type class =/
So I just left that challenge alone.
This doesn’t satisfy “An invalid program should raise a type error rather than a runtime error.”
Never use recursive method. It's unsafable with overflow memory stack.
Thanks a lot!
nice solution without the lambda!