make coercion work by requiring protocol implementations.
let FormsNode produce its only children (if applicable).
move reader/writer functions to zipper base ns.
add tests for whitespace/base zipper fns.