Decoder throws [KeyError('struct_format_string')] on .fit

Attempting to process .fit files that I downloaded off of Garmin Connect from my HRM Pro Plus.

Using Python SDK.

However, when I use the example program, decode throws an 

[KeyError('struct_format_string')] 

error.

Curiously, it seems to work fine on the example .fit files. Is there something wrong with the .fit files themselves?

Addendum: is_fit() returns True. Further, I previously used the FitToCSV program to process them, so they should be valid files...
Not sure what is going on here.