Cleaned up confusing generics.