Simplify idiomatic context resolving
Use type lambdas instead of Dan Rosen's trick in idiom instances
Bugfix - take type lambdas as idiom type constructor as long as usual constructors