Remove Applicative instance for Expr.Apply
InferRules: Remove superfluous apply rule constructor wrappers

Infer.Rules: Use .~ intead of Lens.set

UntilConflict: Newline before large error string

Lens.unwrapped instead of Monoid.Any

Rename funcArguments -> curriedFuncArguments
Test: InferAssert: Show more information when expressions are mismatched

Test: ExprUtil.randomizeParamIds can do inner-context param Id randomizations, and use a debug NameGen for more readable Show for canonized expressions

Test: Better Show instances for Expression

Test: Show inferred val/type of failing WV test exprs

Test: uncurry2test as a WithVariables test
Test: Add addImplicitCurriedApply2Test
Infer: No need to recursively apply restrictions, any true recursive restriction will be propagated inside from apply type anyway. uncurry2 test passes
hlint police