DataGrid.DataSource プロパティ

何が設定できるんだろうと思ったら.

public object DataSource {get; set;}

 ……objectってのがかっこわるいなー
 しかも

有効なデータ ソースを次に示します。 

DataTable 
DataView 
DataSet 
DataViewManager 
IListSource インターフェイスを実装する任意のコンポーネント。 
IList インターフェイスを実装する任意のコンポーネント

 バラバラです.共通のインターフェースとか持たせられたなかったのだろうか.
 ためしにIListを実装しているArrayListを渡したら,なぜかlengthを表示しました.わけがわからない挙動です.