Crate functor