Separate the execution machinery from the platform dependent parts.
Add a version detection box in the Haskell tools dialogue.