upgrade unitest
add a pretty printer for position
providing  a better strategy for merging location, note that functions like [appl_of_list] generally does not provide a precise location mechanism, we should improve it later, for example, provide an optional parameter….
factor out left_rule for more hacking
tweak