    -- |
    -- Module      : Foundation.String.Builder
    -- License     : BSD-style
    -- Maintainer  : Foundation
    --
    -- String Builder
    --
    module Foundation.String.Builder
        ( module Basement.String.Builder
        , toString
        ) where

    import Basement.String.Builder
    import Basement.String (String)
    import GHC.ST

    -- | run the builder and return a `String`
    --
    -- alias to `runUnsafe`
    --
    -- This function is not safe, prefer `run`.
    --
    toString :: Builder -> String
    toString :: Builder -> String
    toString builder :: Builder
    builder = (forall s. ST s String) -> String
    forall a. (forall s. ST s a) -> a
    runST (Builder -> ST s String
    forall (prim :: * -> *). PrimMonad prim => Builder -> prim String
    runUnsafe Builder
    builder)