+-- exercise 3
+-- nextLevel
+-- if the big boss comes, no question, his reportee managers are not
+-- coming. So, we just take the send list from each pair and concat them.
+-- if the big boss is not coming, then we pick the list from the pair that
+-- has most fun and concat them all.
+nextLevel :: Employee -> [(GuestList, GuestList)] -> (GuestList, GuestList)
+nextLevel e lst =
+ let withBoss = glCons e $ mconcat $ map snd lst
+ withoutBoss = mconcat $ map (uncurry moreFun) lst
+ in
+ (withBoss, withoutBoss)