{-| Module : TwoCatOfCats Description : Safe version of Internal.TwoCatOfCats Copyright : Anthony Wang, 2021 License : MIT Maintainer : anthony.y.wang.math@gmail.com @TwoCatOfCats@ is a safe version of @Internal.TwoCatOfCats@. Please refer to the documentation for that module. This module does not export the unsafe constructors in @Internal.TwoCatOfCats@, but does export the safe versions. For example, @CompositeFunctor :: ZeroGlobelet -> [Functor] -> Functor@ is not exported, but @func_compose :: [Functor] -> Maybe Functor@ is. This is because one can use @CompositeFunctor@ to construct invalid composite functors. See the documentation in @Internal.TwoCatOfCats@ for more details. -} module TwoCatOfCats ( Category (..), ZeroGlobelet (..), Functor (Functor, func_id, func_displayString), func_boundary, func_source, func_target, identityFunctor, func_composable, func_compose, FuncCompositionError (..), func_compose_with_error, func_to_single_composition, func_to_single_list, func_reduced_length, is_basic_func, is_identity_func, OneGlobelet, funcs_globeletable, funcs_to_globelet, glob1_pos, glob1_neg, NaturalTransformation (NaturalTransformation, nt_id, nt_displayString), nat_boundary, nat_source, nat_target, identityNaturalTransformation, nat_horz_compose, NatHorzCompositionError (..), nat_horz_compose_with_error, nat_vert_compose, nat_source_length, nat_target_length, is_basic_nt, is_identity_nt ) where import Prelude hiding (Functor) import Internal.TwoCatOfCats