public ElaVariant GetValue(ElaValue key, ElaMap map) { if (map.Tree.IsEmpty) return ElaVariant.None(); var res = map.Tree.Search(key); return res.IsEmpty ? ElaVariant.None() : ElaVariant.Some(res.Value); }
public ElaMap CreateMap(ElaRecord rec) { var map = ElaMap.Empty; foreach (var k in rec.GetKeys()) map = new ElaMap(map.Tree.Add(new ElaValue(k), rec[k])); return map; }
public ElaMap Remove(ElaValue key, ElaMap map) { return map.Remove(key); }
public bool Contains(ElaValue key, ElaMap map) { return map.Contains(key); }
public ElaMap Add(ElaValue key, ElaValue value, ElaMap map) { return map.Add(key, value); }