* uheap: some dorking around * core: implemented ssign
* mutarray: test contains scattersort example
* core: constructor for plain enums produces first defined value
* uheap: use flat join nodes always
* uheap: write size into sum table
* uheap: make slicing as lean as possible, putting all work on the join function.
* small typo fixes
* core: shorter implementations for `try?` and `try!`
* Map: support for curry-call interface; `map a ...` turns into `('get map a)`, `...` turns into a curried call if non-empty
* uheap: use more merging opportunities * src: `allow-early-noreturn;` disables the premature noreturn check in scope
* Map: annotate drop function, fixing bug with type-recursive dropping
* uheap: pnodes can be arbitrarily wide, merge buffers and pnodes below a size threshold
* scopes²: small fixes
* hash: added rhash/bighash functions to compute left/right slices of a previous join operation
* hash: added `sc_bighash_replace` which allows to quickly compute the hash of a replace operation
* core: `?` try to merge both arguments if type differs, cast constant to bool
* uheap: added missing module * compiler: Type -> type module name change
* uheap: uuref and U& globals automatically become roots of the uheap
* core: `global` allows types to provide a custom global constructor through the `__globalconstructor` prototype
* core: `global` now always initializes early, when the module it is contained in is constructed. it can no longer be initialized later.