Rename walk* methods to visit*
Add visitArrayType
Move SpecialGenericFunction up