gluon_vm::thread
pub fn alloc<D>( gc: &mut Gc, thread: &Thread, stack: &Stack, def: D) -> Result<GcPtr<D::Value>> where D: DataDef + Traverseable, D::Value: Sized + Any,