Experimental.LazyList: initial prototype with from_list(), is_empty(), unapply(), and take()