Insert a record at the given position. The first argument
        *i* is the index of the record before which to insert, so
        message.insert(0, record) inserts at the front of the message,
        and message.insert(len(message), record) is equivalent to
        message.append(record). The second argument *record* must be
        an instance of :class:`nfc.ndef.Record`.

def insert(self, i, record):
        """Insert a record at the given position. The first argument
        *i* is the index of the record before which to insert, so
        message.insert(0, record) inserts at the front of the message,
        and message.insert(len(message), record) is equivalent to
        message.append(record). The second argument *record* must be
        an instance of :class:`nfc.ndef.Record`."""
        
        if not isinstance(record, nfc.ndef.Record):
            raise TypeError("an nfc.ndef.Record object is required")
        self._records.append(copy.copy(record))