edit-lenses-0.1: Data/Module/Product.hs
{-# LANGUAGE TypeFamilies #-}
module Data.Module.Product where
import Control.Monad
import Data.Default
import Data.Module.Class
instance (Module dX, Module dY) => Module (dX, dY) where
type V (dX, dY) = (V dX, V dY)
apply (dx, dy) (x, y) = liftM2 (,) (apply dx x) (apply dy y)