Function type equality and some generics warnings fixed