is it normal that <=> on types return 1 when types have not subtyping
relationship? shouldn't it raise an exception?

----------------------------------------
class A; end
class B; end

class AA < A; end

a, b, aa = A.new, B.new, AA.new

print [ 
  a.type  <=> aa.type, #=>  1
  a.type  <=> a.type,  #=>  0
  aa.type <=> a.type,  #=> -1
  a.type  <=> b.type,  #=>  1  ???
].join(" "), "\n"
----------------------------------------