The Property class in the JCR API accepts Value objects, Value objects are of a specified type, and setting them with setValue will change the value of the node. PHPCR is missing this missing this feature:
http://www.day.com/specs/jsr170/javadocs/jcr-1.0/javax/jcr/Property.html#setValue(javax.jcr.Value)
We should probably add a ->setType method.