test struct polymorphism restrictions
implement struct-var suppression