Use an intermediate representation to reinterpret the value in Target::paintAsType