Just for your information first one is more expensive than the second one as per performance wise. Becuase the second one translate into one function<TSource,Bool> while the first one transfer into three function.