Rework & and + operators to share a core between inplace and normal versions.