К своему стыду обладаю лишь сильно поверхностным знанием данного вопроса. Может кому-то тоже будет полезно.
Честно, тоже достаточно поверхностно. Если есть чего добавить, можем пообсуждать.