def rest(o) -> Optional[ISeq]:
if o is None:<EOL><INDENT>return None<EOL><DEDENT>if isinstance(o, ISeq):<EOL><INDENT>s = o.rest<EOL>if s is None:<EOL><INDENT>return lseq.EMPTY<EOL><DEDENT>return s<EOL><DEDENT>n = to_seq(o)<EOL>if n is None:<EOL><INDENT>return lseq.EMPTY<EOL><DEDENT>return n.rest<EOL>
If o is a ISeq, return the elements after the first in o. If o is None,
    returns an empty seq. Otherwise, coerces o to a seq and returns the rest.