writing prolog is mostly about writing in the most natural and readable syntax possible. using haskell-like types put me off.