pub const BYNK_MAP_SRC: &str = "commons bynk.map {\n\tuses bynk.list\n\n\t---\n\tReturns the values of `m`, one per key (order follows `m.keys()`).\n\t---\n\tfn values[K, V](m: Map[K, V]) -> List[V] {\n\t\tlet init: List[V] = List.empty()\n\t\treverse(m.keys().fold(init, (acc, k) => match m.get(k) {\n\t\t\tSome(v) => acc.prepend(v),\n\t\t\tNone => acc,\n\t\t}))\n\t}\n\n\t---\n\tTrue if `m` has an entry for `key`.\n\t---\n\tfn contains[K, V](m: Map[K, V], key: K) -> Bool {\n\t\tmatch m.get(key) {\n\t\t\tSome(v) => true,\n\t\t\tNone => false,\n\t\t}\n\t}\n\n\t---\n\tReturns the value `m` holds for `key`, or `fallback` if there is none.\n\t---\n\tfn getOr[K, V](m: Map[K, V], key: K, fallback: V) -> V {\n\t\tmatch m.get(key) {\n\t\t\tSome(v) => v,\n\t\t\tNone => fallback,\n\t\t}\n\t}\n}\n";Expand description
bynk.map — combinators over the Map kernel (empty, insert, get,
keys, length). fromList is deliberately absent: Bynk has no pair
type to spell a List[(K, V)] with, so map construction is Map.empty()
insert(revisit with tuples or generic records).