proc main()
{
    var va, vb;
    var ma, mb;
    const types = {Float, Double, Half};
    va = 3->iterate();
    vb = 3 + 3->iterate();
    ma = [2,3].iterate();
    mb = 6 + [3,4].iterate();
    forall (types[i]) {
        var a, b;
        a = types[i](va); b = types[i](vb);
        "", a.inner(`+,`*,b), '\n';
        a = types[i](ma); b = types[i](mb);
        "", a.inner(`+,`*,b), '\n';
    }
}