{- | Module : $Header$ Description : Arrows. dealwithit.jpeg. Copyright : (c) plaimi 2014 License : GPL-3 Maintainer : plailude@plaimi.net -} module Plailude.Control.Arrow where import Control.Arrow ( (***), Arrow, ) import Control.Monad ( join, ) both :: Arrow a => a b c -> a (b, b) (c, c) -- | Send both components of the input through the argument arrow. both = join (***)