None. Even with Java's typesystem you can know whether the thing or things you have in your hand implements some interface or not ("callable" in this case) at compile time. You can't ask this question because you can't not already know the answer.<p>I'm not speaking to whether dynamic/duck typing is good or bad here, just pointing out that the question is flawed.