Variable declarations using a type class will be subject to type inference similar to the one
already present in type coercions and the return type inference.
This also provides the initial steps towards support for type class "filtered" type inference
fixes an "ordinal type expected" ICE, related to the use of static params