--- /dev/null
+class Functor f where\r
+ map :: (a -> b) -> f a -> f b\r
+\r
+data Either a b = Left a | Right b\r
+\r
+instance Functor (Either a) where\r
+ map _ (Left x) = Left x\r
+ map f (Right y) = Right (f y)\r
+\r
+id :: Integer -> Integer\r
+id x = x\r
+\r
+main = map id (Left (12 :: Integer))\r
+--\r
+(Left 12)
\ No newline at end of file