How about changing Applied to return (target, argss) and then introducing TypeApplied to return (target, targs)?

Then the current `Applied(target, targs, argss)` would be replaced with `Applied(TypeApplied(target, targs), argss)`, and `Applied2(target, argss)` would become `Applied(target, argss)`.