Stream cycle deadlocks

Stream.map([], &(&1)) |> Stream.cycle() |> Enum.take(1) deadlocks but Stream.cycle([]) |> Enum.take(1) errors. Is that expected?