method_missing (Type)

    # File lib/support.rb, line 197
      def self.method_missing(type, *args)
        raise "Unknown type Type.#{type}" unless KNOWN_TYPES.has_key?(type)
        case type
        when :unknown then
          return self.new(type)
        when :function then
          if args.size == 2 then
            $stderr.puts "\nWARNING: adding Type.unknown for #{caller[0]}" if $DEBUG
            args.unshift Type.unknown
          end
          return self.new(FunctionType.new(*args))
        else
          if type.to_s =~ /(.*)_list$/ then
            TYPES[type] = self.new($1.intern, true) unless TYPES.has_key?(type)
            return TYPES[type]
          else
            TYPES[type] = self.new(type) unless TYPES.has_key?(type)
            return TYPES[type]
          end
        end
      end