Implemented Optional functor.