Uniform way of handling empty annotations
Clarification and motivation
We have several places where we truncate empty annotations, and in all of them this is performed differently.
- Pack logic seems to do it exactly as Michelson does.
- Printing logic displays
:a
as:a :
if the type has two type annotations, this is annoying. - Operation size evaluation logic just filters all the empty annotations, and that is probably incorrect (need to add a test on
: :a
case).
Acceptance criteria
-
There is one function
[Annotation] -> [Annotation]
which is supposed to remove unnecessary annotations upon translating something to Michelson. -
Mentioned test is added.