def cbc.enc
import bend-osdev-cbc@0.1.0.0/cbc.bend as Cbcimport Base
import bend-osdev-mode-core@0.1.0.0/mode_core.bend as M
16def cbc.enc(~K: Data, ~enc: K -> M.CmBlock -> M.CmBlock, +k: K, bs: List<&2, M.CmBlock>, iv: M.CmBlock) -> List<&2, M.CmBlock>:
17 match bs:
18 case Nil{}:
19 Nil{}
20 case Con{p, t}:
21 +c = enc(k, M.CmBlock.xor(iv, p))
22 Con{c, cbc.enc(~K, ~enc, k, t, c)}