Runtime type checking using parameterized types

Thanks, looking into it.

I did not make it clear in the original example. But my outer wrapper (JsonProtocol.__iter__()) will catch decode exceptions and skip bad data points - exception control flow is intentionally used to indicate “no data returned”.