Terms as objects: mostly translated

TODO: substitution