reserve infix `~~~`:50
reserve notation `[` a `][` b:10 `]`

section
local infix `~~~` := eq

print notation ~~~

local infix `~~~`:50 := eq

print notation ~~~

local infix `~~~`:100 := eq

infix `~~~`:100 := eq  -- FAIL

print notation ~~~

local notation `[` a `][`:10 b:20 `]` := a = b

print notation ][
end

notation `[` a `][`:10 b:20 `]` := a = b -- FAIL

notation `[` a `][` b `]` := a = b
infix `~~~` := eq

print notation ~~~
print notation ][