I'd like to define a tuple `(x, y)` as an instance of `Enum` class, knowing that both `x` and `y` are instances of `Enum`. A following try:

```
instance (Enum x, Enum y) => Enum (x, y) where
    toEnum = y
    enumFrom x = (x, x)

```

only results in error (`y` not in scope). I'm new to Haskell, could somebody explain how to declare such an instance?