Add type generic parameter to TreeConstraint #30