dlib.functional redesign