{-# LANGUAGE Rank2Types #-}

module ShouldCompile where

-- Check that we can have a forall to the right of a double-arrow

f :: forall a. (Num a) => forall b. (Ord b) => a -> b -> b -> a
f x y z = if y>z then x+1 else x

g :: (Num a) => (Ord b) => a -> b -> b -> a
g x y z = if y>z then x+1 else x
