Huge optimizations and better Generic Parameter support