Add the goal interface (forgot) + SubstitutionSet to bind and unify