<?phpfunction function_feed($value){return (function ($function) use (&$value){return $function($value);});}function function_compose($function1, $function2){return (function ($value) use (&$function1, &$function2){return ($function2($function1($value)));});}function function_chain($functions){return (function ($value) use (&$functions){/*return array_reduce($functions, function ($x, $y) {call_user_func("function_compose", $x, $y);}, $value);*/return ((count($functions) == 0) ? $value : function_feed($functions[0]($value))(function_chain(array_slice($functions, 1))));});}function object_from_array($key_name){return (function ($list) use (&$key_name){$object = [];foreach ($list as $element){$key = $element[$key_name];$object[$key] = $element;}return $object;});}function object_attribute($name)