inRayCheck :: Board -> BitBoard -> Bool
inRayCheck b occ = or $ do
  pt <- [ Queen, Rook, Bishop ]
  -- King casting rays ..
  let eKingRay = magic pt (eKingPos b) occ
  return $ mempty /= eKingRay .&. myPiecesOf b pt


------------------------------------------------------------------------------
inRayCheck :: Board -> BitBoard -> Bool
inRayCheck b occ = or $ do
  pt <- [ Queen, Rook, Bishop ]
  -- King casting rays ..
  let eKingRay = magic pt (eKingPos b) occ
  return $ mempty /= eKingRay .&. myPiecesOf b pt


------------------------------------------------------------------------------
inRayCheck b occ = or $ do
  pt <- [ Queen, Rook, Bishop ]
  -- King casting rays ..
  let eKingRay = magic pt (eKingPos b) occ
  return $ mempty /= eKingRay .&. myPiecesOf b pt


------------------------------------------------------------------------------