Mostly just a semantics thing, why is it "contract_types" instead of something simpler like "contracts"? Solidity's JSON output puts them into a "contracts" object. Might make for easier compatibility.