haskell tree and ipopt #defines

why do i have all these merges? hmmm