Some work on function object creation