Без лишних слов: Kraken. Ниже приведён развёрнутый разбор. По ходу изложения комбинируются разные синтаксические схемы, чтобы в итоге сделать подачу живее. Дополнительно упомянуты рабочие подходы, которые встречаются на практике. В финале собраны рекомендации, чтобы можно было сохранить понятность.