Attribute variables to carry meta data, and performance

Hello,

I have been trying to get my head around attribute variables for quite some time now.

Essentially, with attribute variables its possible to relate to a variable any kind of term.

So, i am now wondering if attribute variables could be used instead or arguments in predicates, when for example, a first argument is essentially meta-data for a second argument – could, for example, be type information.

If yes, i guess attribute variables would be less performant than arguments … or could it actually save bindings by reducing the number of arguments needed to be passed across predicate calls?

thanks,

Dan