scaling weights, return dot and fmap from sampling, iterate over the
terminal spans in a rule