Generic frame to (hopefully) quickly build solvers for various puzzle types.