Is this expected behaviour?
void foo(string s)
void foo(int x)
Error: function app.foo (int x) is not callable using argument types
yes. this is done so unqualified won't silently "steal" your functions.
this can cause some unexpected (and hard to find) bugs.
if you want it to work, you can either do qualified import
import bar : foo;
or manuall bring overloads from `bar` with
alias foo = bar.foo;