Haskell DSL for financial planning