/* Step 1: Enhanced map with tables */ numbers : {1, 2, 3, 4, 5}; double : x -> x * 2; /* Test map with single table */ doubled : map @double numbers; first : doubled[1]; second : doubled[2]; third : doubled[3]; fourth : doubled[4]; fifth : doubled[5]; ..assert first = 2; ..assert second = 4; ..assert third = 6; ..assert fourth = 8; ..assert fifth = 10; /* Test map with key-value table */ person : {name: "Alice", age: 30, active: true}; add_ten : x -> x + 10; mapped_person : map @add_ten person; /* Note: This will add 10 to all values, including strings */ name_result : mapped_person.name; age_result : mapped_person.age; active_result : mapped_person.active; ..assert name_result = "Alice10"; ..assert age_result = 40; ..assert active_result = 11; /* Enhanced filter with tables */ is_even : x -> x % 2 = 0; evens : filter @is_even numbers; even_2 : evens[2]; even_4 : evens[4]; /* Note: Keys 1, 3, 5 don't exist in filtered result */ ..assert even_2 = 2; ..assert even_4 = 4; ..out "Step 3 completed";