def typecast_to_primitive(value)
        if value.respond_to?(:to_time)
          value.to_time
        elsif value.is_a?(::Hash) || value.respond_to?(:to_mash)
          typecast_hash_to_time(value)