introduced ChangeApplied to simplify code around applying changes and
remove null warnings
more null warnings removed
decouple domain and range visitors
nonnull warnings removed from search
warnings removed from parser packages
warning cleanup in tests