Split variable type detector
Fix a bug about the traverser does not visit curly values