factored out a compilation member visitor