オーバーロードの優先順位ってどうなっているんですか?
例えば、以下のようなメソッドにnullを渡すと型は判別ができないに関わらず、
実行できると思いますが。

public void Select(params IMyObject[] targets)
public void Select(IEnumerable<IMyObject> targets)