infixr 6 -*
(-*) : Type -> Type -> Type
(-*) a b = (1 _ : a) -> b

-- Test that the types of holes are not overly generalised wrt the
-- multiplicities in the function type

foo1 : (((1 _ : a) -> (1 _ : b) -> (1 _ : c) -> ()) -> ()) -> ()
foo1 f = f ?foo1h

foo2 : (((1 _ : a) -> (1 _ : b) -> (1 _ : c) -> ()) -> ()) -> ()
foo2 f = f (id ?foo2h)

foo3 : ((a -* b -* c -* ()) -> ()) -> ()
foo3 f = f (id ?foo3h)
