Choosing maximum instead of minimum for terms alike.
Small fixes:
   - since Map, Set and List are not subsorted to K, eliminate the unique top sort check
   - the KApp of a constant properly forwards the location information
   - adding the single dots for Map, Set and List.
Merge branch 'unified-builtins2' into fixVarTypeInference2
Trying to infer the most concrete empty element that fits in the context.
   - modified the type filter to prefer terms of sort directly subsorted to the context, and discard K if it can
   - pushed instantiation of middle end classes for list terminator after parser in order to have a more uniform representation for disambiguation.
Forgot copyright info.
Swapping the order of cell type disambiguation and rewrite correction.
   - also taking into consideration that the K cell may be opened, then the sort is K.
Avoiding sort BagItem.
Fixing kool. Disambiguate by adding more context.
Fixing some more examples.
Give a hidden warning message each time I'm inferring the type of a dot.
Made a separate step which deals with dots.
   - added a step which types rewrites if the left hand side is a function.
Restoring the order of CellTypeFilter
That wasn't the correct order.
Fixing one example, and the list normalizer.
Changed the semantics of Cast to now force the sort of the inner term instead of just checking for subsort.
   - because of that I had to fix some casts from /include/io/uris.k
   - tweaking a bit the dot inference
Fix the warning message when inferring the type of dot.
This isi how I should have returned the result.
Making Hole public again in order to store location information.
Fixing some example which typed HOLE.
Fix casting going through brackets.