broke out PrimitiveDecodeStrict and DecodeStrict into decode_strict.go