redundant null checking
experiment with implementing class types graph for finding patterns to obtain one type from other