everything appears to be workingvim create_constraints.js csp_solver.js index.html ! yay, finally. The bug turned out to be a variable scoping error in create_compound_constraint_template(). I was setting an object's values to functions in a loop not realizing that I was changing the values for all the functions environments with each iteration of the loop, I fixed it by setting the object's values to closures instead of just functions