add missing mkUnit function needed for dynamic stuff
make ipopt monad typed by Nlp