Total rewrite to use dyno-abstract