fix for calling the function that is given as a function type through a
union.
union fixes with assignableForm/instanceof 

literal arrays that are mixed are now created as a Union type. so that
you can call a function with a param Array<String|Number> with
["string",1]

added test for various union in union calls Number|String will fit in
Number|String|Date but not visa versa

of just a String will fit in a Number|String but not visa versa