definition module TupleOverloading import StdEnv instance + (a,b) | + a & + b instance + (a,b,c) | + a & + b & + c instance - (a,b) | - a & - b instance - (a,b,c) | - a & - b & - c instance * (a,b) | * a & * b instance * (a,b,c) | * a & * b & * c instance / (a,b) | / a & / b instance / (a,b,c) | / a & / b & / c instance zero (a,b) | zero a & zero b instance zero (a,b,c) | zero a & zero b & zero c instance one (a,b) | one a & one b instance one (a,b,c) | one a & one b & one c instance ~ (a,b) | ~ a & ~ b instance ~ (a,b,c) | ~ a & ~ b & ~ c