Backport generic TypedDicts
#46
+201
−32
Merged
TypedDicts
#46