:$ fn(x::is number) |x :$ fn(a::is string="o") |a fn("s") fn(5) fn() :$ g(n="s", a::is number=5) return("gn") :$ g(n="s", a::is string="lol") return("gs") |{g(n="k", a="l")} |{g(n="k", a=1)} |{g(n="k", "l")} |{g(n="k", 1)} |{g("k", "l")} |{g("k", 1)} |{g("k", a="l")} |{g("k", a=1)}