(2) "Нестандартное" - это как сам реализуешь. У него вообще ничего нет на старте. Только минимум-миниморум хуков для переопределения, чтобы заработали стандартные механизмы. А сверх того хоть API на 100500 методов реализуй - все в твоих руках. С чем тут смиряться? А как иначе можно было? :)
Хотя, если подумать... Возможно и стоило стандартизировать API по выборке... Но слишком много ньюансов при этом возникает. Слишком простое будет - плохо. Развесистое - тоже плохо. Поэтому вероятно и забили.
(4) что там плохого, банальный перебор.
(2) Опять 1с нас радует черными дырами в платформе.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший