Perhaps I'm missing something here - and somebody can point this out to me. In regards to default parameters and named parameters, is this done at the compile time or run time? If I am calling a external class as such Foo(x:1,y:1), and they change there
class from Foo(x, y) to Foo(z,y), would I still work because it still has the same type of footprint because it was done at compile time? I think it would, from what I got out of it. However, if I recompiled mine, I should get an error as x no longer exists,
and I should change it to z. Now how about default params? If I call Bar(x:1) to a defined method of Bar(x, y=3), then I would make the call with a value of 3. But if the method is changed to Bar(x, y=7), do I make the call now with a 7 or a 3 - is it based
on compile time or runtime? I would hope it is runtime, as you grab the current value based on the current metadata of the class - but I don't know.