Zero[].
Succ[prev].
Succ[prev]. //Duplicate record
Add[a, b].
Add[a, c]. //Duplicate record

Add[a, b: Zero[], b]: b<Add //Duplicate property
Add[b: Zeroo[], c]: a<Add //Missing property, extra property, undeclared record
Add[b, b]: c<Add //Duplicate property, undeclared property
Add[]: App[] //Missing property, undeclared record
Add[a, b]: Add[a: b<Add] //Missing property
Add[a: Succ[prev], c]: Add[a: a<Succ>prev<Add, b: Succ[prev: b<Add]] //Undeclared property (switched heads)

Add[
  a: Zero[prev: Zero[prev: Zero[prev: Succ[]]]] //Missing/extra properties (swapped)
  b: Zero[prev: Zero[prev: Succ[]]] //Missing/extra properties (swapped)
]?