All you need to do is defer the work to the (yet to be implemented) `FunctionValue` object 

```java
return functionExpression.getValue().evaluate(inputExpression.getValue())```