simplified again ScopedTerm (no more functor)