/**
 * The contract for a instance that logs
 *
 * @typedef {Object} Logger
 * @interface
 * @property {Logger~log} info   - Logs information
 * @property {Logger~log} error  - Logs errors
 */

/**
 * @callback Logger~log
 * @param {...*} msg
 */