If Var is a variable or attributed variable, set the value
for the attribute named Module to Value. If an
attribute with this name is already associated with Var, the
old value is replaced. Backtracking will restore the old value (i.e., an
attribute is a mutable term; see also setarg/3).
This predicate raises an uninstantiation error if
Var is not a variable, and a type error if Module
is not an atom.