wildcards inside: fix for intersection types [^roma]
new inference: raise a error when function type was not inferred (supposing well-formed type as free from wildcards)