Netspirit, сам думал об обобщённых типов данных (да и в принципе, не раз мы это обсуждали

). К примеру, если Canvas и Bitmap всё же как-то можно объединить (например, при первом запросе на редактирование Bitmap создавать instance Canvas-a, а после всех процедур уничтожать Canvas), то со стримами есть непонятки. На данный момет, проще всего будет объединить Input/Output streams, создав общий интерфейс взаимодействия с потоком. Но непонятно, нужна ли така вещь, как byte[], всё же много элементов принимают этот тип на входе. Пока, как я вижу, именно эта вещь мешает создания единого типа для работы с BLOB. А в целом проскакивали идеи, что для типов, которые не возможно представить в строковом виде (к примеру, View), можно использовать числовое представление. Обычному пользователю такие числа можно представлять как "идентификаторы". Но уже наперёд я вижу сложности при управлении такими объектами в памяти, ибо надо как-то знать, когда нужно выгрузить объект из какого-то глобального object registry. Да и вообще не понятно, целеобразна ли эта идея