Simplify the ckernels being used, make unary just use expr

This change removes the special case of unary assignment kernels, and just uses the expr kernel function prototypes for them. The complexity spawned by having this distinction does not appear to be worth it.