rewrite to haskell-neo backend
wow almost complete rewrite
remove warnings