takeWhileInclusiveD :: (Proxy p, Monad m) => (a -> Bool) -> a' -> p a' a a' a m ()
takeWhileInclusiveD  p = runIdentityK go
  where go a' = do
          a <- request a'
          a'2 <- respond a
          when (p a) $ go a'2
takeWhileInclusiveD :: (Proxy p, Monad m) => (a -> Bool) -> a' -> p a' a a' a m ()
takeWhileInclusiveD  p = runIdentityK go
  where go a' = do
          a <- request a'
          a'2 <- respond a
          when (p a) $ go a'2
takeWhileInclusiveD  p = runIdentityK go
  where go a' = do
          a <- request a'
          a'2 <- respond a
          when (p a) $ go a'2