Properly handles type parameter