--- /dev/null
+=-=-=-=-=INTERFACE STARTS HERE=-=-=-=-= Print001
+interface Print001 where
+f :: Eq a => (a -> b -> c) -> a -> b -> c {-# ARITY _ = 2 #-}
+f2 :: (Eq a, Ord a, Ix c) => (a -> b -> c) -> a -> b -> c {-# ARITY _ = 4 #-}
+g :: Foo Int (b -> a) (b -> [(b, Double, Int)]) -> Float {-# ARITY _ = 1 #-}
+mkFoo :: [((a -> Int) -> a) -> b] -> (a -> b, b -> b) -> () -> Foo a b c {-# ARITY _ = 3 #-}
+data Bar a = BarNil | BarCon (Foo a a a) (Bar a)
+data Foo a b c = MkFoo [((a -> Int) -> a) -> b] (a -> b, b -> b) ()
+=-=-=-=-=INTERFACE STOPS HERE=-=-=-=-=
+