Last time I checked, `iterable` was useless as it's designed to work only in templates.
Native iterators in Nim don't compose without macro-trickery, such as zero_functional. Actually, the only good thing I can say about them is when they _do_ work, they are as fast as loops (which they are). import std/[tables] import pkg/zero_functional # A mapping from coordinates (x, y) to values. var locations = {(1, 2): 1, (2, 1): 2, (-2, 5): 3}.toTable() # Get the minimum X coordinate. echo locations.keys --> map(it[0]).min() # -2 Run