won't have a ** operator I suppose
hmmm
Malloc needs to keep the moving flag
now destroying contents of types as well