items_in (enumerable <key> container, handler_k _),
items_in (p_enumerable <key> container, handler_k _)
     for (key : *)
{
  while (container->has_next (access_code))
  {
    handler_k (key), 
    { 
      key = get_current (&_, container, access_code) 
    };
  },
  {
    ulong64 access_code = make_iterator (container)
  }
  //
  {
    next_iterator (&access_code, container);
  }
  /
  {
    delete_iterator (&access_code);
  }
}

items_in (enumerable <key, value> container, handler_kv _),
items_in (p_enumerable <key, value> container, handler_kv _)
     for (key : *; value : *)
{
  while (container->has_next (access_code))
  {
    handler_kv (key, value), 
    { 
      key, value = get_current (&_, &__, container, access_code) 
    };
  },
  {
    ulong64 access_code = make_iterator (container)
  }
  //
  {
    next_iterator (&access_code, container);
  }
  /
  {
    delete_iterator (&access_code);
  }
}
