Let's define a common error type, `ClompseError`, as a GADT, and lift all error encountered while working with remote provider APIs into this error.