Structural typing