I\'m trying to define a type with a constructor which receives a sum type of itself or another type. But because I must define the sum type separately, either the sum type or on