I believed that you found a compiler bug about generic type. You can report it, or use some workarounds:
1\. Use `except` to avoid symbol confliction import winim/clr except Create Run 2\. Don't use generic type, using type overload instead. proc fn(fnExcel: string, strSheet: int): int = discard proc fn(fnExcel: string, strSheet: string): int = discard Run 3\. Use `invoke` instead of dot operator.