lib/Type.js
function Type(name, super_types, fs) {
  this.super_types = [];
  this.name = name;
  if (super_types) {
    this.super_types = super_types;
  }
  this.fs = fs;
}
function Type(name, super_types, fs) {
  this.super_types = [];
  this.name = name;
  if (super_types) {
    this.super_types = super_types;
  }
  this.fs = fs;
}
function Type ( name , super_types , fs ) { this . super_types = [ ] ; this . name = name ; if ( super_types ) { this . super_types = super_types ; } this . fs = fs ; }
Constructor - name is a string - super_types is an array of types; it should be nonempty
Constructor - name is a string - super_types is an array of types ; it should be nonempty