code: function elementaryName (name) {
    if (name.startsWith('int[')) {
      return 'int256' + name.slice(3)
    } else if (name === 'int') {
      return 'int256'
    } else if (name.startsWith('uint[')) {
      return 'uint256' + name.slice(4)
    } else if (name === 'uint') {
      return 'uint256'
    } else if (name.startsWith('fixed[')) {
      return 'fixed128x128' + name.slice(5)
    } else if (name === 'fixed') {
      return 'fixed128x128'
    } else if (name.startsWith('ufixed[')) {
      return 'ufixed128x128' + name.slice(6)
    } else if (name === 'ufixed') {
      return 'ufixed128x128'
    }
    return name
  }
docs: Convert from short to canonical names FIXME: optimise or make this nicer?