Вообще-то, это все можно записать просто и без дополнительных функций и вложенных циклов. См. https://github.com/bem/bem-components/blob/v2/common.blocks/menu-item/_type/menu-item_type_link.bemhtml

@veged поревьюй, plz BEMHTML