reduce number of times dependencies are checked

it was one per restraint before which is a bit excessive and pointless.
speed up benchmarks