-- The for-all hoisting should hoist the
	-- implicit parameter to give
	-- 	r :: (?param::a) => a
    r :: Int -> ((?param :: a) => a)
    r = error "urk"
r :: Int -> ((?param :: a) => a)
r = error "urk"
r = error "urk"