some fixes in terms of map

Mainly, make a intermediate function to get the keys we want. 
Something like this is what I mean:
```
rule hasUnionMarker(Loc:SymLoc) => #hasUnionMarker(.K, Loc) ==K true

rule #hasUnionMarker(.K, loc(_, _, SetItem(K:K) Prov:Set) => #hasUnionMarker(K, Prov)
rule #hasUnionMarker(K:K, Prov:Set) => #hasUnionMarker(.K, Prov)
when  getKLabel(K) =/=KLabel 'fromUnion
rule #hasUnionMarker(fromUnion(_, _, _), _) => true
```