Fix primitive to primitive & others. Simplify code.