Long story short: I solved that type tetris (more like rubik's cube) as follows:
addModal :: Route App -> Journal -> Day -> Widget
addModal addR j today = do
(addView, addEnctype) <- handlerToWidget $ generateFormPost (addForm j today)
[whamlet| ... |]
addForm :: Journal -> Day -> Markup -> MForm Handler (FormResult Transaction, Widget)
addForm j today = identifyForm "add" $ \extra -> ...