shapeless
Like Either, the :+: type defines a new type that can contain either H or T.
Non-recursive fold (like Either#fold)
Like Either, the :+: type defines a new type that can contain either H or T.