 commGetAttr :: Storable e => Comm -> Int -> IO (Maybe e)
 commGetAttr comm key = do
   isInitialized <- initialized
-  if isInitialized then do 
+  if isInitialized then do
     alloca $ \ptr -> do
       found <- commGetAttr' comm key (castPtr ptr)
       if found then do ptr2 <- peek ptr

  (MkTag x) * (MkTag y) = MkTag (x*y)
  abs (MkTag x) = MkTag (abs x)
  signum (MkTag x) = MkTag (signum x)
  fromInteger x 
    | fromIntegral x > tagUpperBound = error "Tag value is over the MPI_TAG_UB" 
    | x < 0             = error "Negative Tag value"
    | otherwise         = MkTag (fromIntegral x)


  (MkRank x) * (MkRank y) = MkRank (x*y)
  abs (MkRank x) = MkRank (abs x)
  signum (MkRank x) = MkRank (signum x)
  fromInteger x
    | x > ( fromIntegral (maxBound :: CInt)) = error "Rank value does not fit into 32 bits"
    | x < 0             = error "Negative Rank value"
    | otherwise         = MkRank (fromIntegral x)

