def head(sequence):
    """
    Returns first item from `sequence` or :const:`None` if sequence is empty.

        >>> head([1])
        1
        >>> head([2, 3])
        2
        >>> head([(1, 2), (3, 4)])
        (1, 2)
        >>> head()
    """
    try:
        return next(iter(sequence))

    except StopIteration:
        return None