operator type analysis modified to support