A language for binary tree based programming is Lisp, which is based upon solely that (yet complete programs can be written using it).
Mathematica has infinite List type and evaluation of List elements as functions or data, in a way mm can do the job of Lisp albeit a little differently; not so rigidly. you have to study Lisp to know what I mean.
guide/DiscreteMathematics shows ways to create, use, traverse binary and also complex trees