extern crate alloc;
pub(crate) mod blanket_trait;
pub(crate) mod cgp_fn;
pub(crate) mod cgp_impl;
pub(crate) mod check_components;
pub(crate) mod delegate_components;
pub(crate) mod derive_builder;
pub(crate) mod derive_component;
pub(crate) mod derive_extractor;
pub(crate) mod derive_getter;
pub(crate) mod derive_has_fields;
pub(crate) mod derive_provider;
pub(crate) mod field;
pub(crate) mod for_each_replace;
pub(crate) mod parse;
pub(crate) mod preset;
pub(crate) mod product;
pub(crate) mod replace_self;
pub(crate) mod symbol;
pub(crate) mod type_component;
mod entrypoints;
pub mod utils;
pub use field::derive_has_field;
pub use product::{make_product_expr, make_product_type, make_sum_type};
pub use symbol::make_symbol;
pub use crate::entrypoints::*;