Слоты выражений не рассчитываются до тех пор, пока не будут выполнены правила инициализации, поэтому в этом случае в слоте не было данных, и правило было неэффективным.
Эту проблему можно исправить, создав обычный слот для используемого правила, который можно заполнить входными значениями, скопировав его из слота выражений, или присвоив значения с помощью правила инициализации, которое выполняет те же вычисления, что и слот выражений.