A new attribute can be added to a variable using the tool predicate
add_attribute(Var, Attr).
An attribute whose name is not the current module name can be added using add_attribute/3 which is its tool body predicate (exported in sepia_kernel). If Var is a free variable, it will be bound to a new attributed variable whose attribute corresponding to the current module is Attr and all its other attributes are free variables. If Var is already an attributed variable and its attribute is uninstantiated, it will be bound to Attr, otherwise the effect of this predicate will be the same as unifying Var with another attributed variable whose attribute corresponding to the current module is Attr.