Remove pure; move stuff around

 * Add :value to AdHocDeducer/handleNested
 * Corresponding additional constructor call in (bind mf mv d)