package foo:maps; interface maps { // Basic maps type string-to-u32 = map; type u32-to-string = map; // Nested maps type nested-map = map>; // Maps with complex types record person { name: string, age: u32, } type person-map = map; // Maps with tuples, lists, options type complex-map = map>>; // Functions using maps get-value: func(m: map, key: string) -> option; set-value: func(m: map, key: string, value: u32) -> map; merge-maps: func(a: map, b: map) -> map; // Map with various key types type int-key-map = map; type char-key-map = map; } world maps-world { import maps; export maps; }