fix generic compile