can leave state polymorphic