Not much more than what the title says.
As I understand it, Predicate<T>
(P) is literally identically equivalent to Func<T,bool>
(F), and yet ... you can't jump between the two.
You can't pass a P in when a method expects an F, nor vice versa. You don't even seem to be able to explicitly cast between the two.
Is there a good reason for this? Or is this just something that got missed?
NOTE: I am not asking this question: Converting a Predicate<T> to a Func<T, bool>
I know how to get from one to the other ... I'm asking why they aren't the same/why there isn't an implicit cast defined, when they clearly could be.