@@ -332,12 +332,21 @@ module Prelude
332 LT -> false
332 LT -> false
333 _ -> true
333 _ -> true
335− foreign import unsafeCompare
335+ foreign import unsafeCompareImpl
336− "function unsafeCompare(n1) {\
336+ "function unsafeCompareImpl(lt) {\
337− \ return function(n2) {\
337+ \ return function (eq) {\
338− \ return n1 < n2 ? LT.value : n1 > n2 ? GT.value : EQ.value;\
338+ \ return function (gt) {\
339+ \ return function (x) {\
340+ \ return function (y) {\
341+ \ return x < y ? lt : x > y ? gt : eq;\
340− \}" :: forall a. a -> a -> Ordering
346+ \}" :: forall a. Ordering -> Ordering -> Ordering -> a -> a -> Ordering
348+ unsafeCompare :: forall a. a -> a -> Ordering
349+ unsafeCompare = unsafeCompareImpl LT EQ GT
342 instance ordUnit :: Ord Unit where
351 instance ordUnit :: Ord Unit where
343 compare (Unit {}) (Unit {}) = EQ
352 compare (Unit {}) (Unit {}) = EQ