update dependencies
make Type implement KFn
fix warnings