public static void CreateSomeConcrete(GenericUserFunction function) { var varType = new FunnyType[function._constrainsMap.Length]; for (var i = 0; i < function._constrainsMap.Length; i++) { var anc = function._constrainsMap[i].Ancestor ?? StatePrimitive.Any; var concrete = TicTypesConverter.ToConcrete(anc.Name); varType[i] = concrete; } function.CreateConcrete(varType); }