run asyncify after legalization, so that it won't create more illegal things that might not be handleable