-- | Generates VName for an abstract entity.
-- The generated name uniquely identifies the given entitiy.
tickVName :: Tick -> Conversion Raw.VName
tickVName t = updateSig <$> asks baseVName
  where updateSig v = v { vnSignature = tickString t }

-- | A non-implicit anchor VName.
-- In theory the pure location is enough to construct it, but for practical
-- debuggability we stick the signature of the target entity to the signature
-- of the generated VName.
tickVName :: Tick -> Conversion Raw.VName
tickVName t = updateSig <$> asks baseVName
  where updateSig v = v { vnSignature = tickString t }

-- | A non-implicit anchor VName.
-- In theory the pure location is enough to construct it, but for practical
-- debuggability we stick the signature of the target entity to the signature
-- of the generated VName.
tickVName t = updateSig <$> asks baseVName
  where updateSig v = v { vnSignature = tickString t }

-- | A non-implicit anchor VName.
-- In theory the pure location is enough to construct it, but for practical
-- debuggability we stick the signature of the target entity to the signature
-- of the generated VName.