https://github.com/reagent-project/reagent/issues/520 tips welcome.
Taking a stab at EP2 here https://github.com/tape-framework/frame/blob/master/src/tape/frame.cljs