this is an obvious case of battling the type system that just gets in the way. The "before" version obviously sucks, but the "after" with magic sprinkled in - sucks even more! is there an alternative solution?
I dont understand what's going on but it looks like a hack to avoid code duplication. We should be OK with duplication sometimes because it's more explicit and straightforward to mingle and debug.
reply