avoid a reflective call to a structural type