![]()
![]()
What even is the difference between those instances such that I need to like
fix a :: 'b
in the second one or whatever.
the types to infer are "deferred" to the next line
in a = a, you have no restriction, so you end up with type 'b, while in the first case F a restricts a to be exactly the right type
I don't understand. what kinda restriction does F a put on a's type?
F has a type due to the lemma
the type is inferred there
Last updated: Aug 11 2026 at 20:46 UTC