def subset?(other)
      raise(ISO8601::Errors::TypeError, "The parameter must be an instance of #{self.class}") \
        unless other.is_a?(self.class)

      other.include?(first) && other.include?(last)
    end
def subset?(other)
      raise(ISO8601::Errors::TypeError, "The parameter must be an instance of #{self.class}") \
        unless other.is_a?(self.class)

      other.include?(first) && other.include?(last)
    end
Returns true if the interval is a subset of the given interval.

 @param [ISO8601::TimeInterval] other a time interval.

 @raise [ISO8601::Errors::TypeError] if time param is not a compatible
   Object.

 @return [Boolean]