More flixable type system

Sometimes you need to pass more complicated elements to query objects other than normal hash. This inspired me to revisit the whole places that enforced explicit Hash and Array and substitute them with explicit #to_hash and #to_ary calls.
All tests are still passing now.