>>   # Built-in adaption routes that Ruby already uses in its C code.
>>   adaption :to => Symbol,  :via => :to_sym
>>   adaption :to => String,  :via => :to_str
>>   adaption :to => Array,   :via => :to_ary
>>   adaption :to => Integer, :via => :to_int

That's interesting. Is this data accessable via pure Ruby code? I was
playing with a lib that provided these like so:

  class Symbol
    def self.coercer ; :to_sym ; end
    def self.convertor ; :intern ; end
  end

  class Array
    def self.coercer ; :to_ary ; end
    def self.convertor ; :to_a ; end
  end

  class Hash
    def self.coercer ; :to_hash ; end
    def self.convertor ; :to_h ; end
  end

  class String
    def self.coercer ; :to_str ; end
    def self.convertor ; :to_s ; end
  end

Etc. that way any class could provide the information.

T.