random trivia I learned recently: to make a generic protocol class, you can do: ``` class C(Protocol, Generic[T]): ... ``` which is a bit much, so there's a shorthand: ``` class C(Protocol[T]): ... ```
If I remember correctly, you don't need necessarily to type annotate the constructor if you say so: my_object = FDict[str, int]() In this case, it makes no sense but still, you can. BTW good video, and a very interesting topic
indeed that's part of the story -- most of my framing is with c# `out` / `in` parameters (though generics are similar as well) -- immutability also comes to the table
I have a question for you, @anthonywritescode. I am in a continuous merge request review discussion back and forth with others regarding the use of `NoReturn` vs `None` for the return of a function or method that does not returns anything. Can you please shine your light on it? Docs state then the `NoReturn` is used for functions that are not expected to return anything; eg. an Exception raising function.