--- /dev/null
+import "JavaBuiltin" as Java\r
+\r
+infixl 6 (+)\r
+\r
+class Additive a where \r
+ (+) :: a -> a -> a \r
+ \r
+instance Additive Double where\r
+ x + y = Java.dadd x y\r
+\r
+instance Additive Integer where\r
+ x + y = Java.iadd x y\r
+ \r
+instance (Additive a, Additive b) => Additive (a,b) where\r
+ (x1,y1) + (x2,y2) = (x1+x2,y1+y2)\r
+ \r
+main = (1.0::Double,3::Integer) + (2.0::Double,4::Integer)\r
+--\r
+(3.0,7)\r
+\r