js constraint propagation
js constraints propagation