Efficient representations for triangular substitutions : A comparison in miniKanren