index.js
function(expectedType, value) {
  var actualType = getType(value);
  if (expectedType!== actualType) {
    throw new TypeError('Expected type to be ' +
      expectedType + ', but got ' + actualType);
  }
  return value;
}
function(expectedType, value) {
  var actualType = getType(value);
  if (expectedType!== actualType) {
    throw new TypeError('Expected type to be ' +
      expectedType + ', but got ' + actualType);
  }
  return value;
}
function ( expectedType , value ) { var actualType = getType ( value ) ; if ( expectedType !== actualType ) { throw new TypeError ( 'Expected type to be ' + expectedType + ', but got ' + actualType ) ; } return value ; }
String -> String -> a -> a
String - > String - > a - > a