Converted to FP Complete Haskell Center
Initial work, far from complete