def model_constructors(vk, model):
    """Fill the model with constructors

    model['constructors'] = [{'name': 'x', 'members': [{'name': 'y'}].}]
    """
    model['constructors'] = []
    structs = [x for x in vk['registry']['types']['type']
               if x.get('@category') in {'struct', 'union'}]

    def parse_len(member):
        mlen = member.get('@len')
        if not mlen:
            return None

        if ',' in mlen:
            mlen = mlen.split(',')[0]

        if 'latex' in mlen or 'null-terminated' in mlen:
            return None

        return mlen

    for struct in structs:
        if 'member' not in struct:
            continue

        model['constructors'].append({
            'name': struct['@name'],
            'members': [{
                'name': x['name'],
                'type': x['type'],
                'default': x.get('@values'),
                'len': parse_len(x)
            } for x in struct['member']]
        })