local a = Const("a")
local b = Const("b")
local f = Const("f")
local vec = Const("vec")
print(Pi({{a, Type}, {b, vec(a), true}}, vec(b)))
print(Pi({{a, Type, binder_info(true, true)}, {b, vec(a), true}}, vec(b)))
assert(not pcall(function()
                    print(Pi({{a, Type}, {f(b), vec(a), true}}, vec(b)))
                 end
))
assert(not pcall(function()
                    print(Pi({{a, Type, a}, {b, vec(a), true}}, vec(b)))
                 end
))