为什么 Hackage 上 pair 的 Monad 实例没有 return 的实现?

Why Monad instance of pair on Hackage has no implementation for return?

在我阅读的 Hackage 上写下 , mostly to get a better understanding of pairs as monads, I stumbed into this source code 时,仅参考 (,) aMonad 实例

instance Monoid a => Monad ((,) a) where
    (u, a) >>= k = case k a of (v, b) -> (u <> v, b)

return在哪里???我希望找到这样的东西

    return a = (mempty, a)

除了上面两行。 return 的这个定义是否以某种方式暗示了其他东西?或者它可能在其他地方定义?

在 Haskell 的现代版本中(具体来说,base 版本 4.8.0.0 及更新版本,对应于 GHC 版本 7.10.1 及更新版本),the Monad class has the default implementation return = pure, so instances of it only need to define >>=. This was a result of the Functor-Applicative-Monad Proposal.