add BiMap, FSM, Oracle, and BOM; add cake adapter to WebDI for traits; make DeltaAction lookup O(1), scrap pattern matching