can you count the letter a in:
q: what is the meaning of array elements of *type_info variables in soap / wsdl auto-generated apex classes?  background: 
as an example, lets put the calculatorservices class from the apex soap callouts trailhead unit on the table. considering any of the inner classes, for instance doadd:
public class doadd {
    public double arg0;
    public double arg1;
    private string[] arg0_type_info = new string[]{arg0,http://calculator.services/,null,0,1,false};
    private string[] arg1_type_info = new string[]{arg1,http://calculator.services/,null,0,1,false};
    private string[] apex_schema_type_info = new string[]{http://calculator.services/,false,false};
    private string[] field_order_type_info = new string[]{arg0,arg1};
}

there are always 3 types of type_info variables:

*

*element-specific (arg0_type_info, arg1_type_info etc.)

*apex_schema_type_info

*field_order_type_info
all of these are described by elements of string arrays.
 question: 
does anyone know whats the description/names/meanings of each of these array elements? i couldnt find anything among sf documentation, sf blogs or other so posts.

 what ive got so far: 

*

*first array element in element_type_info is basically its name

*second array element in element_type_info is either tns or targetnamespace

*first array element in apex_schema_type_info is either tns or targetnamespace

*field_order_type_info arrays meaning is obvious

the reason behind my question is that due to wsdl2apex generator limitations im forced to write my own apex soap classes manually (inb4: yes, i saw fuseit generator, it crashes for my wsdl). i have managed to write some basic (and working!) code already, but im not sure if leaving all these null, 0, 1, false values is fine or i should change some of them due to things im just not aware of.
any help appreciated, thanks :)

a: the details are fairly well covered in what are the parameters for the salesforce webservicecallout.invoke method?
from jeremys answer:

if the variable represents another xml element or a text node, then there needs to be a matching _type_info string[] e.g. bar_type_info. the elements of this array are:

*

*xml element name

*schema

*xml type

*minoccurs

*maxoccurs (set to -1 for unbounded)

*isnillable


if in doubt, salesforce made their version of wsdl2apex open source, so you can see how it is setting the array elements.
private string typeinfo(element element) {
    string elemns =
            element.getref() == null ? element.getschema().gettargetnamespace() : element.getref()
                    .getnamespaceuri();

    stringbuilder sb = new stringbuilder();
    sb.append(new string[]{);
    sb.append().append(element.getname()).append();
    sb.append(,).append(elemns).append();
    sb.append(,).append(null); // was the elements type, no longer used.
    sb.append(,).append(element.getminoccurs()).append();
    sb.append(,).append(element.getmaxoccurs()).append();
    sb.append(,).append(element.isnillable()).append();
    sb.append(});
    return sb.tostring();
}


user
In that passage, there are one hundred and ninety-one occurrences of the letter "a."
assistant