ddc-core-simpl: make eta expansion transform anonymize type, so any references to local foralls become references to the newly created bindings
ddc-core-flow: make slurp and lower only modify bindings of type process, while leaving others alone
ddc-core-flow: modify flow-prep to only apply brutal forwarding to Process bindings
add new modules to flow cabal file
remove deprecation errors: change Control.Monad.Error to Control.Monad.Except
update mtl dep in cabal files
ddc-core-flow: add OpConcreteRunKernel
ddc-core-flow: when lowering, also convert runProcess into runKernel
ddc-core-flow: actually, we want to forward everything that's not a concrete, control, series, store or vector primitive
ddc-core-flow: test for lowering results of rate inference
ddci-core: add :flow-rate-lower command to perform rate inference followed by lowering. the whole enchilada
ddc-core-flow: rate inference: lowering seems to require intermediate bindings for all procs, so add bindings for sfill#. also remove tracing from rate inf.
ddci-core: flow-rate-lower: perform flow prep between rate and lowering, as otherwise each series op isn't its own binding
ddc-core: parser: allow parsing foralls after an arrow. it looks weird, but transforms can produce it