More robust type parameter detection

- Also removed unnecessary constructors which were added due to incomplete type parameter detection logic