[ADT] Add a sum type abstraction for pointer-like types.