-- SPDX-FileCopyrightText: 2026 Alexandra de Wit -- -- SPDX-License-Identifier: MIT -- | Evaluation for containers a long-lived result retains, so the result holds no deferred work. module Ecluse.Core.Strict (strictElements) where -- | Evaluate every element to weak head normal form when the container is evaluated. strictElements :: (Foldable t) => t a -> t a strictElements :: forall (t :: * -> *) a. Foldable t => t a -> t a strictElements t a elements = (a -> t a -> t a) -> t a -> t a -> t a forall a b. (a -> b -> b) -> b -> t a -> b forall (t :: * -> *) a b. Foldable t => (a -> b -> b) -> b -> t a -> b foldr a -> t a -> t a forall a b. a -> b -> b seq t a elements t a elements