pub(crate) fn compose_handler<T>(
build_system: for<'a> fn(&HandlerParams<'a>) -> Result<BuiltCombatSystem, EngineError>,
params: &HandlerParams<'_>,
finish: impl FnOnce(ContentHandlerParts, &HandlerParams<'_>) -> Result<T, EngineError>,
) -> Result<T, EngineError>