use arcref::ArcRef;
mod accumulator;
pub use accumulator::*;
mod accumulator_grouped;
pub use accumulator_grouped::*;
mod vtable;
pub use vtable::*;
mod plugin;
pub use plugin::*;
mod foreign;
pub(crate) use foreign::*;
mod typed;
pub use typed::*;
mod erased;
pub use erased::*;
mod options;
pub use options::*;
pub mod fns;
pub mod kernels;
pub mod proto;
pub mod session;
pub type AggregateFnId = ArcRef<str>;
mod sealed {
use crate::aggregate_fn::AggregateFnVTable;
use crate::aggregate_fn::typed::AggregateFnInner;
pub(crate) trait Sealed {}
impl<V: AggregateFnVTable> Sealed for AggregateFnInner<V> {}
}