Once I asked [this question](https://stackoverflow.com/questions/64220191/is-a-pair-of-homogeneous-types-inherently-not-a-monad), which was correctly marked as duplicate of [this other one](https://stackoverflow.com/questions/58753545/how-to-write-a-monad-instance-for-a-pair-where-both-arguments-have-the-same-type).

Now I have a curiosity, is there any known usecase for monad instance of a pair of homogeneous types?

Here are its instances:

```hs
data Pair a = Pair a a deriving Show

instance Functor Pair where
  fmap f (Pair a b) = Pair (f a) (f b)

instance Applicative Pair where
  pure a = Pair a a
  Pair f g <*> Pair x y =  Pair (f x) (g y)

instance Monad Pair where
    m >>= f = joinPair (f <$> m)

joinPair :: Pair (Pair a) -> Pair a
joinPair (Pair (Pair x _) (Pair _ y)) = Pair x y

```