    guard = do
        _ <- P.string "Guard #"
        i <- int
        _ <- P.string " begins shift"
        return (GuardStart i)
    asleep x = P.string "falls asleep" >> return (FallAsleep x)
    wake x = P.string "wakes up" >> return (Wake x)


solvePartA :: [Shift] -> Integer
solvePartA shifts = sleepiestGuard * minute
  where
    bg = byGuard shifts
