Paths count
extern type Id extern type Value
data input: {values: {[Id]: Value}, edges: {[Id]: [Id]}}
paths = dp { node { key: Id payload = input.values[key] next = || { for to in input.edges[key] { yield node(to) } }
combine = |a, b| a + b extend = |a, b| a * b unit = 1 zero = 0 } }

