imperative searn gives essentially same outputs as normal searn but faster -- removing normal searn
removed old version of searn, renamed imperative searn to just be searn