Hi, This looks like a great feature.
Is there a plan to eventually support custom field types? I assume adding support for dataclasses in python 3.7+ should be trivial to do in a follow up PR. Do you see any complications with that? The main advantage that dataclasses have over NamedTuple in this context is argument defaults, which is a nice convenience. My PR as it is right now actually doesn’t even support int. I probably should at least make a change to accept int as a type specification for iint64 but throw an error when encoding if an int is too big. Should probably do the same for float. Another concern I have is, if there is a user function or a library that user does not control, that uses typing to indicate that a function accepts a type of int, would it be compatible with numpy types? I have similar concerns. I guess we’ll just have to cast to int before passing into 3rd party code, which is not ideal. Why not use int for int64 in python? -chad