Using '||' as operator?

I understand the restrictions on ‘|’ as an operator, but what about ‘||’? Defining it with op/3 seems to be fine but when it’s used, the parser seems to get struck:

?- current_op(P,A,'||').
P = 500,
A = yfx.

?- X = a||b.
|    
|    

Action (h for help) ? |    abort
% Execution Aborted