fixing wrong backends in testsuite
removing questions and adding a bit more intuition
improving efficiency by replacing map with constant time vector and preallocation

(only 2% speedup, but that's better than nothing)
(also contains more assertions than before)