@override Object? operator [](Object? key) { return switch (key) { 'id' => id, 'type' => type, 'kind' => kind.index, _ => null, }; }