
// 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);
}


