option is a functor too ;)