anchor.diff:    pageCreate(input: PageInput!): PageCreate
     pageDelete(id: ID!): PageDelete
     pageUpdate(id: ID!, input: PageInput!): PageUpdate
  -  productAttributeCreate(input: AttributesInput!): AttributeCreate
  -  productAttributeDelete(id: ID!): AttributeDelete
  -  productAttributeUpdate(id: ID!, input: AttributesInput!): AttributeUpdate
  +  attributeCreate(input: AttributesInput!): AttributeCreate
  +  attributeDelete(id: ID!): AttributeDelete
  +  attributeUpdate(id: ID!, input: AttributesInput!): AttributeUpdate
     productCreate(input: ProductCreateInput!): ProductCreate
     productDelete(id: ID!): ProductDelete
     productUpdate(id: ID!, input: ProductInput!): ProductUpdate
  
positive.code:   purchaseCost: MoneyRange
    margin: Margin
    imageById(id: ID): ProductImage
  }
  
  type Attribute implements Node {
    id: ID!
    slug: String
    name: String
    values: [AttributeValue]
  }
  
  type AttributeCountableConnection {
    pageInfo: PageInfo!
    edges: [AttributeCountableEdge!]!
    totalCount: Int
  }
  
  type AttributeCountableEdge {
    node: Attribute!
    cursor: String!
  }
  
  type AttributeCreate {
    errors: [Error]
    productAttribute: Attribute
  }
  
  type AttributeDelete {
    errors: [Error]
    productAttribute: Attribute
  }
  
  type AttributeUpdate {
    errors: [Error]
    productAttribute: Attribute
  }
  
  type AttributeValue implements Node {
    id: ID!
    sortOrder: Int!
    name: String
    value: String!
    slug: String
    type: AttributeValueType
  }
  
  enum AttributeValueType {
    COLOR
    GRADIENT
    URL
    STRING
  }
  
  input AttributesInput {
    slug: String!
    name: String!
  }
  
  type ProductAvailability {
  
negative.code:   name: String!
  }
  
  input AttributesInput {
    slug: String!
    name: String!
  }
  
  type AuthorizationKey {
  