function standardiseDescriptor(descr) {
    const out = {};

    out.methods = descr.methods || undefined;

    const p1 = descr.properties;
    const p2 = descr.props;
    out.properties = isObject(p1 || p2) ? assign({}, p2, p1) : undefined;

    out.initializers = extractUniqueFunctions(descr.init, descr.initializers);

    out.composers = extractUniqueFunctions(descr.composers);

    const dp1 = descr.deepProperties;
    const dp2 = descr.deepProps;
    out.deepProperties = isObject(dp1 || dp2) ? merge({}, dp2, dp1) : undefined;

    out.propertyDescriptors = descr.propertyDescriptors;

    const sp1 = descr.staticProperties;
    const sp2 = descr.statics;
    out.staticProperties = isObject(sp1 || sp2)
      ? assign({}, sp2, sp1)
      : undefined;

    const sdp1 = descr.staticDeepProperties;
    const sdp2 = descr.deepStatics;
    out.staticDeepProperties = isObject(sdp1 || sdp2)
      ? merge({}, sdp2, sdp1)
      : undefined;

    const spd1 = descr.staticPropertyDescriptors;
    const spd2 = descr.name && { name: { value: descr.name } };
    out.staticPropertyDescriptors = isObject(spd2 || spd1)
      ? assign({}, spd1, spd2)
      : undefined;

    const c1 = descr.configuration;
    const c2 = descr.conf;
    out.configuration = isObject(c1 || c2) ? assign({}, c2, c1) : undefined;

    const dc1 = descr.deepConfiguration;
    const dc2 = descr.deepConf;
    out.deepConfiguration = isObject(dc1 || dc2)
      ? merge({}, dc2, dc1)
      : undefined;

    return out;
  }
Converts stampit extended descriptor to a standard one.
@param {Object|*} descr
methods
properties
props
initializers
init
deepProperties
deepProps
propertyDescriptors
staticProperties
statics
staticDeepProperties
deepStatics
staticPropertyDescriptors
configuration
conf
deepConfiguration
deepConf
composers
@returns {Descriptor} Standardised descriptor