added variable type understanding. Essentially, we peel off types in the operator until something is recognized.