[gsac] Test for casting to abstract type with two arguments

Ignore-this: 5ee0f718fcf23a2a4992863e720ce462

darcs-hash:20131209022551-2809a-13a6ffb9bc4714f7fa1cf01dd82d587f959cca7b
[gsac] Test for casts into either.t with type signatures

Ignore-this: 1e4089b10bef32ea0af19e3e9a58619e

darcs-hash:20131209023407-2809a-f4f723b0a6ffdb19143aca43182be10b476985c4
[gsac] Add fun constructor to gsdl.cgs.gstype.t

Ignore-this: 8b07e61f5c5fda53c25aeee56344c8a3

darcs-hash:20131210032549-2809a-dc224e494b300867918bddf63f66cb4cd761cacb
[gsac] gstype.upconvert/fun

Ignore-this: e5bfaa2d0f592f84866cfdb11a75e3a5

darcs-hash:20131210033128-2809a-bef8d3224cf7355f35e96c89518279f1b7ddc6cf
[gsac] gsdl.cgs.gstype.substty/fun

Ignore-this: bcddda6f34bdc52173137d59d955c5ae

darcs-hash:20131210040021-2809a-61c420d2b506a4a41cc638efe938d7b9f052c470
[gsac] gsac.gstype.compile/fun

Ignore-this: 65e0306edd409f77b32421d8cbb2b261

darcs-hash:20131210042122-2809a-d0074c2c4bb8c4bc81e83d401fb291073091bd00
[gsac] gsdl.cgs.gstype.substty/fun

Ignore-this: 9671d3083060c0e3aca5f84c98ec4f30

darcs-hash:20131210042500-2809a-36d2435810520db5d5088c6d3cabb9eccf833614
[gsac] gsdl.cgs.gstype.elimprim

Ignore-this: 5d860d6c5c11e60c332d8e04ed434d89

darcs-hash:20131212024622-2809a-86a94b8f4165223d4ddab40eb1315c79c4f68fb2
[gsac] Remove gsdl.cgs.typeenv.typeexpansion.elimprim, replaced by gsdl.cgs.gstype.elimprim

Ignore-this: 710397943516bc5736151439d914a3a2

darcs-hash:20131212025503-2809a-12ec8d4232f1e26211d152e1d2ebad57e85b8fb0
[gsac] gsdl.cgs.gstype.substty/elimprim

Ignore-this: 454c942dfd71b345cc0bd7e33f061d2e

darcs-hash:20131212030453-2809a-fdfa6681e8f8311caea89d426b6858ce258ae9d1
[gsac] _gsac.gstype.compileToVar_elimprim

Ignore-this: b6fc555635f38b567192bfa1496ca57d

darcs-hash:20131212035207-2809a-bc02654006c183d7b575216d36b39c097722bb15
[gsac] _gsac.gstype.compileToApp_app/elimprim

Ignore-this: 6637dcd85e756b2bb7b1151430e1ec31

darcs-hash:20131212035234-2809a-b6bde99d1838bcb39fc04564bc9c4b118c93d0b3
[gsac] _gsac.gstype_primname.t

Ignore-this: 4cb96779c36232cb7e41740cfbc1ace5

darcs-hash:20131212040357-2809a-9967a44a19bc724f620de3cb494aa60673ce9b68
[gsac] _gsac.gstype_primname.compare

Ignore-this: 37dc116d2ace6d1a7fc37ce75b4b948b

darcs-hash:20131212040413-2809a-a215a520a1559dd3ca100598bb5cb2a18f83bc3f
[gsac] Put _gsac.gstype.compileToVar_elimprim into the gsac.gstype.compile.m monad

Ignore-this: 5dbd0d2c0050bd98cf1d876244016f26

darcs-hash:20131213034518-2809a-622f72dc542700e4fc5b66a516be213a5f2b1015
[gsac] Add prim.emitted state to gsac.gstype.compile.m (and input to gsac.gscoercion.compile.m), to track primtypes we've assigned variables to already

Ignore-this: 22256f795f6c0513413799b7c8f821b5

darcs-hash:20131213042947-2809a-d82755f9aedd42aaee27280d031f71912da5b4a7
[gsac] _gsac.gstype.compileToVar_elimprim

Ignore-this: 97894c53fac3ede57fc9fdfe060f2a70

darcs-hash:20131215012245-2809a-9c82457f7cea407947e133e290c43bf8980cda8e
[gsac] _gsac.gstype.compileToVar_elimprim

Ignore-this: 28b8c4f935bbb7a4b085e57b50778235

darcs-hash:20131215015649-2809a-acf8cc4f7f7359fbfcfa95748b34967d8eb2afbb
[gsac] _gsac.gstype.compileToApp_app/elimprim/right

Ignore-this: df99775d262ff29ee834081c80b0f2f0

darcs-hash:20131215021456-2809a-a273ce1e2449f89fafab12b7b0d28a0104b34b57
[gsac] _gsac.gstype.compileToVar_elimprim: result

Ignore-this: fabc7be55eac2d3fe8632b87b35417a5

darcs-hash:20131215041705-2809a-d244f5a4b23ae7e0543933bbabdf36690ce6c1ec