{-# LANGUAGE ConstrainedClassMethods #-}

module Main where

class C a where
  op :: (Show a, Show b) => a -> b -> String
	-- This class op adds a constraint on 'a'

	-- In GHC 7.0 this is fine, and it's a royal 
	-- pain to reject it when in H98 mode, so
	-- I'm just allowing it

instance C Int where
  op x y = show x ++ " " ++ show y

main = print (op (1::Int) 2)
