docs: function parseInterfaces(interfaces, constructor) {
          var interfs = toArray(interfaces),
              x = interfs.length,
              interf,
              key,
              value;
  
          for (x -= 1; x >= 0; x -= 1) {
              interf = interfs[x];
  
              // Grab methods
              for (key in interf[$interface].methods) {
  
                  value = interf[$interface].methods[key];
  
                   // Check if method is already defined as abstract and is compatible
                  if (constructor[$abstract].methods[key]) {
                      if (!isFunctionCompatible(constructor[$abstract].methods[key], value)) {
                          throw new Error('Method "' + key + '( ' + value.signature + ')" described in interface "' + interf.prototype.$name + '" is not compatible with the one already defined in "' + constructor.prototype.$name + '": "' + key + '(' + constructor[$abstract].methods[key].signature + ')".');
                      }
                  } else {
                      constructor[$abstract].methods[key] = interf[$interface].methods[key];
                  }
              }
  
              // Grab static methods
              for (key in interf[$interface].staticMethods) {
  
                  value = interf[$interface].staticMethods[key];
  
                  // Check if method is already defined as abstract and is compatible
                  if (constructor[$abstract].staticMethods[key]) {
                      if (!isFunctionCompatible(constructor[$abstract].staticMethods[key], value)) {
                          throw new Error('Static method "' + key + '( ' + value.signature + ')" described in interface "' + interf.prototype.$name + '" is not compatible with the one already defined in "' + constructor.prototype.$name + '": "' + key + '(' + constructor[$abstract].staticMethods[key].signature + ')".');
                      }
                  } else {
                      constructor[$abstract].staticMethods[key] = value;
                  }
              }
          }
      }