/**
 * @param mixed $collection
 * @param string $column
 * @return mixed[]
 */
function collection_column($collection, $column)
{
    assert('is_iterable($collection)');
    return collection_map($collection, function ($v) use($column) {
        return map_get($v, $column);
    });
}
/**
 * @param array|Iterator $collection
 * @return Iterator
 */
function squaresOf($collection)
{
    return collection_map($collection, function ($number) {
        return $number ** 2;
    });
}