final TMaybe.DJust just = mb._Just();
if (just == null) return normalAttribute;
final TEither et = Delayed.<TEither>forced( just.mem1 );
final DRight right = et._Right();
if (right == null) return nsAttribute; // since it is Left ()
final TQName qname = Delayed.<TQName>forced( right.mem1 );
final DLocal local = qname._Local();
if (local != null) return normalAttribute; // local var
final boolean our = TGlobal.our(g, qname);
final TQName.DTName tname = qname._TName();
if (tname != null) return our? typeAttribute : itypeAttribute;
final TQName.DMName mname = qname._MName();
if (mname != null && TToken.tokid(tok) == TTokenID.CONID)
return our ? conAttribute : iconAttribute;
final String b = TQName.M.base(qname);
final boolean op = pattern.matcher(b).find();
return our ? identAttribute : (op ? iopAttribute : impAttribute);