Changed type arguments to include more information.