diff --git a/Control/Comonad/Indexed.hs b/Control/Comonad/Indexed.hs
--- a/Control/Comonad/Indexed.hs
+++ b/Control/Comonad/Indexed.hs
@@ -6,20 +6,20 @@
 --
 -- Maintainer  :  Reiner Pope <reiner.pope@gmail.com
 -- Stability   :  experimental
--- Portability :  portable 
+-- Portability :  portable
 --
 ----------------------------------------------------------------------------
-module Control.Comonad.Indexed 
-	( IxFunctor(..)
-	, IxCopointed(..)
-	, IxComonad(..)
-	, iduplicate
-	) where
+module Control.Comonad.Indexed
+  ( IxFunctor(..)
+  , IxCopointed(..)
+  , IxComonad(..)
+  , iduplicate
+  ) where
 
 import Data.Functor.Indexed
 
 class IxCopointed w => IxComonad w where
-	iextend :: (w j k a -> b) -> w i k a -> w i j b
+  iextend :: (w j k a -> b) -> w i k a -> w i j b
 
 iduplicate :: IxComonad w => w i k a -> w i j (w j k a)
 iduplicate = iextend id
diff --git a/Control/Monad/Indexed.hs b/Control/Monad/Indexed.hs
--- a/Control/Monad/Indexed.hs
+++ b/Control/Monad/Indexed.hs
@@ -9,30 +9,30 @@
 -- Portability :  portable
 --
 ----------------------------------------------------------------------------
-module Control.Monad.Indexed 
-	( IxFunctor(..)
-	, IxPointed(..)
-	, IxApplicative(..)
-	, IxMonad(..)
-	, IxMonadZero(..)
-	, IxMonadPlus(..)
-	, ijoin, (>>>=), (=<<<)
-	, iapIxMonad
-	) where
+module Control.Monad.Indexed
+  ( IxFunctor(..)
+  , IxPointed(..)
+  , IxApplicative(..)
+  , IxMonad(..)
+  , IxMonadZero(..)
+  , IxMonadPlus(..)
+  , ijoin, (>>>=), (=<<<)
+  , iapIxMonad
+  ) where
 
 import Data.Functor.Indexed
 
 class IxApplicative m => IxMonad m where
-	ibind :: (a -> m j k b) -> m i j a -> m i k b
+  ibind :: (a -> m j k b) -> m i j a -> m i k b
 
-ijoin :: IxMonad m => m i j (m j k a) -> m i k a 
+ijoin :: IxMonad m => m i j (m j k a) -> m i k a
 ijoin = ibind id
 
 infixr 1 =<<<
 infixl 1 >>>=
 
 (>>>=) :: IxMonad m => m i j a -> (a -> m j k b) -> m i k b
-m >>>= k = ibind k m 
+m >>>= k = ibind k m
 
 (=<<<) :: IxMonad m => (a -> m j k b) -> m i j a -> m i k b
 (=<<<) = ibind
@@ -41,7 +41,7 @@
 iapIxMonad f x = f >>>= \ f' -> x >>>= \x' -> ireturn (f' x')
 
 class IxMonad m => IxMonadZero m where
-	imzero :: m i j a
+  imzero :: m i j a
 
 class IxMonadZero m => IxMonadPlus m where
-	implus :: m i j a -> m i j a -> m i j a
+  implus :: m i j a -> m i j a -> m i j a
diff --git a/Control/Monad/Indexed/Fix.hs b/Control/Monad/Indexed/Fix.hs
--- a/Control/Monad/Indexed/Fix.hs
+++ b/Control/Monad/Indexed/Fix.hs
@@ -10,11 +10,11 @@
 --
 ----------------------------------------------------------------------------
 module Control.Monad.Indexed.Fix
-	( IxMonadFix(..)
-	) where
+  ( IxMonadFix(..)
+  ) where
 
 import Control.Monad.Indexed
 
 class IxMonad m => IxMonadFix m where
-	imfix :: (a -> m i i a) -> m i i a
+  imfix :: (a -> m i i a) -> m i i a
 
diff --git a/Control/Monad/Indexed/Trans.hs b/Control/Monad/Indexed/Trans.hs
--- a/Control/Monad/Indexed/Trans.hs
+++ b/Control/Monad/Indexed/Trans.hs
@@ -5,14 +5,14 @@
 -- License     :  BSD-style (see the file LICENSE)
 --
 -- Maintainer  :  Reiner Pope <reiner.pope@gmail.com>
--- Stability   :  experimental 
+-- Stability   :  experimental
 -- Portability :  portable
 --
--- TODO: figure out a meaningful way for indexed monads to transform indexed 
+-- TODO: figure out a meaningful way for indexed monads to transform indexed
 -- monads
 ----------------------------------------------------------------------------
 module Control.Monad.Indexed.Trans where
 
 class IxMonadTrans t where
-	ilift :: Monad m => m a -> t m i i a 
+  ilift :: Monad m => m a -> t m i i a
 
diff --git a/Data/Functor/Indexed.hs b/Data/Functor/Indexed.hs
--- a/Data/Functor/Indexed.hs
+++ b/Data/Functor/Indexed.hs
@@ -9,24 +9,47 @@
 -- Portability :  portable
 --
 ----------------------------------------------------------------------------
-module Data.Functor.Indexed 
-	( IxFunctor(..)
-	, IxCopointed(..)
-	, IxPointed(..)
-	, IxApplicative(..)
-	) where
+module Data.Functor.Indexed
+  ( IxFunctor(..)
+  , IxCopointed(..)
+  , IxPointed(..)
+  , IxApplicative(..)
+  , (<<$>>), (<<*>>), (<<*), (*>>)
+  ) where
 
 class IxFunctor f where
-	imap :: (a -> b) -> f j k a -> f j k b
+  imap :: (a -> b) -> f j k a -> f j k b
 
+-- | Infix alias of 'imap'.  Or, ('<$>') for 'IxFunctor'.  Should be
+-- interchangeable with ('<$>'), but requires 'IxFunctor' constraints instead
+-- of (possibly many) 'Functor' constraints.
+infixl 4 <<$>>
+(<<$>>) :: IxFunctor f => (a -> b) -> f j k a -> f j k b
+(<<$>>) = imap
+
 class IxPointed m => IxApplicative m where
-	iap :: m i j (a -> b) -> m j k a -> m i k b
+  iap :: m i j (a -> b) -> m j k a -> m i k b
 
+-- | Infix alias of 'iap'.  Or, ('<*>') for 'IxApplicative'.
+infixl 4 <<*>>
+(<<*>>) :: IxApplicative f => f i j (a -> b) -> f j k a -> f i k b
+(<<*>>) = iap
+
+-- | ('Control.Applicative.<*') for 'IxApplicative'.
+infixl 4 <<*
+(<<*) :: IxApplicative f => f i j a -> f j k b -> f i k a
+(<<*) a b = imap const a <<*>> b
+
+-- | ('Control.Applicative.*>') for 'IxApplicative'.
+infixl 4 *>>
+(*>>) :: IxApplicative f => f i j a -> f j k b -> f i k b
+(*>>) a b = imap (const id) a <<*>> b
+
 class IxFunctor m => IxPointed m where
-        ireturn :: a -> m i i a
+  ireturn :: a -> m i i a
 
 class IxFunctor w => IxCopointed w where
-	iextract :: w i i a -> a
+  iextract :: w i i a -> a
 
 {-# RULES
 "iextract/ireturn" iextract . ireturn = id
diff --git a/indexed.cabal b/indexed.cabal
--- a/indexed.cabal
+++ b/indexed.cabal
@@ -1,5 +1,5 @@
 Name:                indexed
-Version:             0.1
+Version:             0.1.1
 Synopsis:            Haskell98 indexed functors, monads, comonads
 Description:         Haskell98 indexed functors, monads, comonads
 License:             BSD3
