Actually, PartialFunction <: Function, so we could pass it without an extra allocation. The same is not true of isDefinedAt, which requires allocation. Syntactically, it may work to remove the (_), and I can if you prefer, but the reason is different (style vs allocations).