It seems the Interpreter OO pattern is more about interpreting of arbitrary ADTs in FP, in particular with help of Free Monad.