Scala implementation of a monadic abstract interpreter