if Types.multiple?(type)
          MultipleTypeCoercer.new(type, method)

        # Use a special coercer for custom types and coercion methods.
        elsif method || Types.custom?(type)