Created by: zhengzangw
I suppose that if a value_types is a list, then any type in this list is legal.