TODO

* add test for when source is a Data::DPath::Context object
