InstanceObject i = instanceArg(o, 1);
assertEquals(o.foo() + 1, i.foo());
NestedInstanceObject n = nestedInstanceArg(i, 1);
assertEquals(i.foo() + 1, n.foo());
StaticInnerObject inner = staticInnerArg(3);
assertEquals(3, inner.foo());
NoArgObject noArg = noArg();