Text this: Determining substitutability of cloud services supported by semantically extended type theory