// simple arity .hello(@a) { hello: one; } .hello(@a, @b) { hello: two; } .hello(@a, @b, @c) { hello: three; } .world(@a, @b, @c) { world: three; } .world(@a, @b) { world: two; } .world(@a) { world: one; } .one { .hello(1); .world(1); } .two { .hello(1, 1); .world(1, 1); } .three { .hello(1, 1, 1); .world(1, 1, 1); } // arity with default values .foo(@a, @b: cool) { foo: two @b; } .foo(@a, @b: cool, @c: yeah) { foo: three @b @c; } .baz(@a, @b, @c: yeah) { baz: three @c; } .baz(@a, @b: cool) { baz: two @b; } .multi-foo { .foo(1); .foo(1, 1); .foo(1,1,1); } .multi-baz { .baz(1); .baz(1, 1); .baz(1,1,1); }