Changed `id` return type to `instancetype`