dont inference twice same generic