I think tilde and dot_tilde belong here, with all their methods. Barebone assume, dot_assume, observe and dot_observe can also be defined in DynamicPPL and overloaded in Turing.Inference. Also all uses of VarInfo and VarName in Turing.Inference should be limited to a one-line function call with an intuitive name. This should limit the interaction of Turing.Inference and DynamicPPL.