а можно ещё пример, зачем оно нужно?
Пример, пользователь задаёт в компайл тайме список функций, которые берут кусочки общего стейта, надо вычислить граф вычислений с максимальной параллелзиацией, предполагая, что функции, что берут разные куски стейта, могут выполняться параллельно.