diff --git a/src/Quasar/PreludeExtras.hs b/src/Quasar/PreludeExtras.hs
index d2cb51bb708bdff169fa16e9d79c161dceb7f7f7..377efab622232334e494a76c7934530101a773f1 100644
--- a/src/Quasar/PreludeExtras.hs
+++ b/src/Quasar/PreludeExtras.hs
@@ -8,6 +8,7 @@ import "base" Prelude
 
 import Quasar.Utils.ExtraT
 
+import Control.Applicative (liftA2)
 import Control.Monad.State.Lazy as State
 import qualified Data.Char as Char
 import qualified Data.Hashable as Hashable
@@ -80,5 +81,9 @@ infixl 4 <<$>>
 (<<$>>) :: (Functor f, Functor g) => (a -> b) -> f (g a) -> f (g b)
 (<<$>>) = fmap . fmap
 
+infixr 6 <<>>
+(<<>>) :: (Applicative f, Semigroup a) => f a -> f a -> f a
+(<<>>) = liftA2 (<>)
+
 dup :: a -> (a, a)
 dup x = (x, x)