content: -- Exponential with GHC 8.10
  
  {-# LANGUAGE BangPatterns  #-}
  module T18140 where
  
  
  data D = D
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
    !(Maybe Bool)
  
  maMB :: Maybe Bool -> Maybe Bool -> Maybe Bool
  maMB Nothing  y        = y
  maMB x        Nothing  = x
  maMB (Just x) (Just y) = Just (maB x y)
  
  maB :: Bool -> Bool -> Bool
  maB _ y = y
  
  maD :: D -> D -> D
  maD  (D x'1 x'2 x'3 x'4  x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12 x'13 x'14 x'15 x'16 x'17 x'18)
       (D y'1 y'2 y'3 y'4  y'5 y'6 y'7 y'8 y'9 y'10 y'11 y'12 y'13 y'14 y'15 y'16 y'17 y'18)
       = D
        (maMB x'1 y'1)
        (maMB x'2 y'2)
        (maMB x'3 y'3)
        (maMB x'4 y'4)
        (maMB x'5 y'5)
        (maMB x'6 y'6)
        (maMB x'7 y'7)
        (maMB x'8 y'8)
        (maMB x'9 y'9)
        (maMB x'10 y'10)
        (maMB x'11 y'11)
        (maMB x'12 y'12)
        (maMB x'13 y'13)
        (maMB x'14 y'14)
        (maMB x'15 y'15)
        (maMB x'16 y'16)
        (maMB x'17 y'17)
        (maMB x'18 y'18)
  
  