soothsayer

Build log

nerves_system_rpi4

soothsayer 1.2.1 · fail · run soothsayer-1.2.1-1790039595845
1519 of 1519 lines
1Resolving Hex dependencies...2Resolution completed in 0.26s3Unchanged:4  aws_signature 0.4.35  axon 0.8.16  circular_buffer 1.1.07  complex 0.7.08  dayoff 0.2.29  decimal 3.1.110  elixir_make 0.10.011  exla 0.13.112  explorer 0.12.013  fine 0.1.614  interactive_cmd 0.1.415  jason 1.4.516  nerves 1.15.017  nerves_discovery 0.1.518  nerves_logging 0.2.419  nerves_runtime 0.13.1320  nerves_system_bbb 2.30.221  nerves_system_br 1.34.422  nerves_system_mangopi_mq_pro 0.17.223  nerves_system_qemu_aarch64 0.4.224  nerves_system_rpi 2.1.225  nerves_system_rpi0 2.1.226  nerves_system_rpi0_2 2.1.227  nerves_system_rpi2 2.1.228  nerves_system_rpi3 2.1.229  nerves_system_rpi4 2.1.230  nerves_system_rpi5 2.1.231  nerves_system_x86_64 1.34.232  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.133  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.134  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.135  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.136  nerves_toolchain_x86_64_nerves_linux_musl 15.3.137  nerves_uevent 0.1.738  nimble_pool 1.1.039  nx 0.13.140  polaris 0.2.041  property_table 0.3.442  ring_logger 0.11.743  rustler_precompiled 0.9.044  shoehorn 0.9.345  soothsayer 1.2.146  table 0.1.247  table_rex 4.1.048  tablet 0.3.349  telemetry 1.4.250  toolshed 0.5.051  uboot_env 1.0.252  xla 0.10.053* Getting soothsayer (Hex package)54* Getting nerves (Hex package)55* Getting shoehorn (Hex package)56* Getting ring_logger (Hex package)57* Getting toolshed (Hex package)58* Getting nerves_runtime (Hex package)59* Getting nerves_system_bbb (Hex package)60* Getting nerves_system_mangopi_mq_pro (Hex package)61* Getting nerves_system_qemu_aarch64 (Hex package)62* Getting nerves_system_rpi (Hex package)63* Getting nerves_system_rpi0 (Hex package)64* Getting nerves_system_rpi0_2 (Hex package)65* Getting nerves_system_rpi2 (Hex package)66* Getting nerves_system_rpi3 (Hex package)67* Getting nerves_system_rpi4 (Hex package)68* Getting nerves_system_rpi5 (Hex package)69* Getting nerves_system_x86_64 (Hex package)70* Getting nerves_system_br (Hex package)71* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)72* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)73* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)74* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)75* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)76* Getting nerves_logging (Hex package)77* Getting nerves_uevent (Hex package)78* Getting uboot_env (Hex package)79* Getting elixir_make (Hex package)80* Getting property_table (Hex package)81* Getting circular_buffer (Hex package)82* Getting interactive_cmd (Hex package)83* Getting jason (Hex package)84* Getting nerves_discovery (Hex package)85* Getting tablet (Hex package)86* Getting axon (Hex package)87* Getting dayoff (Hex package)88* Getting exla (Hex package)89* Getting explorer (Hex package)90* Getting nx (Hex package)91* Getting complex (Hex package)92* Getting telemetry (Hex package)93* Getting aws_signature (Hex package)94* Getting decimal (Hex package)95* Getting rustler_precompiled (Hex package)96* Getting table (Hex package)97* Getting table_rex (Hex package)98* Getting fine (Hex package)99* Getting nimble_pool (Hex package)100* Getting xla (Hex package)101* Getting polaris (Hex package)102==> tablet103Compiling 2 files (.ex)104Generated tablet app105==> elixir_make106Compiling 8 files (.ex)107Generated elixir_make app108==> nerves_discovery109Compiling 5 files (.ex)110Generated nerves_discovery app111==> decimal112Compiling 4 files (.ex)113Generated decimal app114==> jason115Compiling 10 files (.ex)116Generated jason app117==> interactive_cmd118Compiling 1 file (.ex)119Generated interactive_cmd app120==> nerves121HOST_CC port.o122HOST_LD port123Compiling 55 files (.ex)124Generated nerves app125==> nerves_compatibility_test126127Nerves environment128  MIX_TARGET:   rpi4129  MIX_ENV:      prod130131Checking for prebuilt Nerves artifacts...132  Found nerves_toolchain_aarch64_nerves_linux_gnu in cache133    /home/nerves/.nerves/artifacts/nerves_toolchain_aarch64_nerves_linux_gnu-linux_x86_64-15.3.1134  Found nerves_system_rpi4 in cache135    /home/nerves/.nerves/artifacts/nerves_system_rpi4-portable-2.1.2136==> tablet137Compiling 2 files (.ex)138Generated tablet app139==> elixir_make140Compiling 8 files (.ex)141Generated elixir_make app142==> nerves_discovery143Compiling 5 files (.ex)144Generated nerves_discovery app145==> decimal146Compiling 4 files (.ex)147Generated decimal app148==> jason149Compiling 10 files (.ex)150Compiling lib/encode.ex (it's taking more than 10s)151Compiling lib/decoder.ex (it's taking more than 10s)152Generated jason app153==> interactive_cmd154Compiling 1 file (.ex)155Generated interactive_cmd app156==> nerves157HOST_CC port.o158HOST_LD port159Compiling 55 files (.ex)160Generated nerves app161==> nerves_system_br162Generated nerves_system_br app163==> nerves_toolchain_aarch64_nerves_linux_gnu164Compiling 1 file (.ex)165Generated nerves_toolchain_aarch64_nerves_linux_gnu app166==> nerves_system_rpi4167Generated nerves_system_rpi4 app168==> nerves_compatibility_test169170Nerves environment171  MIX_TARGET:   rpi4172  MIX_ENV:      prod173174==> circular_buffer175Compiling 1 file (.ex)176Generated circular_buffer app177==> fine178Compiling 1 file (.ex)179Generated fine app180==> complex181Compiling 2 files (.ex)182     warning: the following clause is redundant:183184         def divide(n, b) when is_number(n) and (b === :infinity or b === :neg_infinity)185186     it has type:187188         dynamic(float() or integer()), dynamic(:infinity or :neg_infinity)189190     previous clauses have already matched on the following types:191192         :infinity or :nan or :neg_infinity, :infinity or :nan or :neg_infinity193         :nan, float() or integer()194         float() or integer(), :nan195         float() or integer(), :infinity196         float() or integer(), :neg_infinity197         float() or integer(), float() or integer()198199     │200 590 │   def divide(n, b) when is_number(n) and b in [:infinity, :neg_infinity] do201     │       ~202     │203     └─ lib/complex.ex:590:7: Complex.divide/2204205      warning: the following clause is redundant:206207          def pow(%Complex{re: re, im: im}, :neg_infinity) when re == 0 and im == 0208209      it has type:210211          dynamic(%Complex{re: float() or integer(), im: float() or integer()}), :neg_infinity212213      previous clauses have already matched on the following types:214215          :infinity or :nan or :neg_infinity, %Complex{}216          %Complex{}, :infinity or :nan or :neg_infinity217          %Complex{re: :infinity or :nan or :neg_infinity}, term()218          %Complex{im: :infinity or :nan or :neg_infinity}, term()219          term(), %Complex{re: :infinity or :nan or :neg_infinity}220          term(), %Complex{im: :infinity or :nan or :neg_infinity}221          :nan, term()222          term(), :nan223224      │225 1143 │   def pow(%Complex{re: re, im: im}, :neg_infinity) when re == 0 and im == 0, do: new(:infinity, 0)226      │       ~227      │228      └─ lib/complex.ex:1143:7: Complex.pow/2229230      warning: the following clause is redundant:231232          def atan2(:nan, :nan)233234      it has type:235236          :nan, :nan237238      previous clauses have already matched on the following types:239240          float() or integer(), float() or integer()241          :infinity, :infinity242          :infinity, :neg_infinity243          :infinity, :nan244          :infinity, float() or integer()245          :neg_infinity, :infinity246          :neg_infinity, :neg_infinity247          :neg_infinity, :nan248          :neg_infinity, float() or integer()249          :nan, :infinity or :nan or :neg_infinity or float() or integer()250          :infinity or :nan or :neg_infinity or float() or integer(), :nan251252      │253 1458 │   def atan2(:nan, :nan), do: :nan254      │       ~255      │256      └─ lib/complex.ex:1458:7: Complex.atan2/2257258Generated complex app259==> table_rex260Compiling 7 files (.ex)261     warning: incompatible types given to Map.get/3:262263         Map.get(cell, :width_calc, nil)264265     the map:266267         dynamic(%TableRex.Cell{})268269     does not have all required keys:270271         :width_calc272273     therefore this function will always return nil274275     where "cell" was given the types:276277         # type: dynamic(%TableRex.Cell{})278         # from: lib/table_rex/renderer/text.ex:305:63279         %TableRex.Cell{} = cell280281         # type: dynamic(%TableRex.Cell{})282         # from: lib/table_rex/renderer/text.ex283         {%TableRex.Cell{} = cell, col_index}284285     type warning found at:286     │287 312 │       Map.get(cell, :width_calc, nil) || Table.get_column_meta(table, col_index, :width_calc)288     │           ~289     │290     └─ lib/table_rex/renderer/text.ex:312:11: TableRex.Renderer.Text.render_cell/3291292Generated table_rex app293==> nerves_logging294 CC kmsg_tailer.o295 LD kmsg_tailer296Compiling 5 files (.ex)297Generated nerves_logging app298==> ring_logger299Compiling 7 files (.ex)300Generated ring_logger app301==> nerves_compatibility_test302===> Analyzing applications...303===> Compiling aws_signature304==> shoehorn305Compiling 8 files (.ex)306Generated shoehorn app307==> xla308Compiling 5 files (.ex)309Generated xla app310==> table311Compiling 5 files (.ex)312Generated table app313==> nerves_compatibility_test314===> Analyzing applications...315===> Compiling telemetry316==> nx317Compiling 43 files (.ex)318Compiling lib/nx/batch.ex (it's taking more than 10s)319Compiling lib/nx/defn/grad.ex (it's taking more than 10s)320Compiling lib/nx/defn/tree.ex (it's taking more than 10s)321Compiling lib/nx/defn/evaluator.ex (it's taking more than 10s)322Compiling lib/nx/defn/graph.ex (it's taking more than 10s)323Compiling lib/nx/binary_backend.ex (it's taking more than 10s)324Compiling lib/nx.ex (it's taking more than 10s)325Generated nx app326==> polaris327Compiling 5 files (.ex)328Generated polaris app329==> axon330Compiling 27 files (.ex)331     warning: unused require Polaris.Updates332     │333 212 │   require Polaris.Updates334     │   ~335     │336     └─ lib/axon/loop.ex:212:3337338     warning: unused require Logger339     │340 284 │   require Logger341     │   ~342     │343     └─ lib/axon.ex:284:3344345Compiling lib/axon.ex (it's taking more than 10s)346      warning: the following conditional expression will always succeed:347348          not improved?349350      because it evaluates to:351352          dynamic(true)353354      where "improved?" was given the type:355356          # type: dynamic(false or nil)357          # from: lib/axon/loop.ex:1124:7358          improved?359360      type warning found at:361      │362 1136 │       not improved? and not over_patience? ->363      │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~364      │365      └─ lib/axon/loop.ex:1136: Axon.Loop.monitor_impl/6366367     warning: the following clause will never match:368369         map when is_map(map) ->370371     because it attempts to match on the result of:372373         value374375     which has type:376377         dynamic(not empty_list() and not map() and not non_empty_list(term(), term()))378379     where "map" was given the type:380381         # type: map()382         # from: lib/axon/model_state.ex:208:16383         is_map(map)384385     type warning found at:386     │387 208 │       map when is_map(map) ->388     │       ~389     │390     └─ lib/axon/model_state.ex:208:7: Axon.ModelState.transform_to_parameters/1391392      warning: the following clause is redundant:393394          %{parent: [parent_id]} = popped ->395396      previous clauses have already matched on the following types:397398          %{..., op: term(), op_name: :container, parent: term()}399          %{..., parent: non_empty_list(term(), term())}400401      where "parent_id" was given the type:402403          # type: dynamic()404          # from: lib/axon.ex:3960:30405          %{parent: [parent_id]} = popped406407      where "popped" was given the type:408409          # type: dynamic(%{..., parent: non_empty_list(term())})410          # from: lib/axon.ex:3960:30411          %{parent: [parent_id]} = popped412413      type warning found at:414      │415 3960 │       %{parent: [parent_id]} = popped ->416      │                                       ~417      │418      └─ lib/axon.ex:3960:39: Axon.pop_node/1419420Generated axon app421==> rustler_precompiled422Compiling 4 files (.ex)423Generated rustler_precompiled app424==> explorer425Compiling 22 files (.ex)42642701:30:22.852 [debug] Downloading NIF from https://github.com/elixir-nx/explorer/releases/download/v0.12.0/libexplorer-v0.12.0-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz42842901:30:34.193 [debug] NIF cached at /home/nerves/.cache/rustler_precompiled/precompiled_nifs/libexplorer-v0.12.0-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz and extracted to /work/proj/_build/rpi4/lib/explorer/priv/native/libexplorer-v0.12.0-nif-2.15-aarch64-unknown-linux-gnu.so.tar.gz430Compiling lib/explorer/polars_backend/native.ex (it's taking more than 10s)431     warning: the following clause will never match:432433         {:ok, df} ->434435     because it attempts to match on the result of:436437         from_query(conn, query, params, opts)438439     which has type:440441         none()442443     type warning found at:444     │445 546 │       {:ok, df} -> df446     │       ~~~~~~~~~~~~~~~447     │448     └─ lib/explorer/data_frame.ex:546: Explorer.DataFrame.from_query!/4449450     warning: the following clause will never match:451452         {:error, error} ->453454     because it attempts to match on the result of:455456         from_query(conn, query, params, opts)457458     which has type:459460         none()461462     type warning found at:463     │464 547 │       {:error, error} -> raise error465     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~466     │467     └─ lib/explorer/data_frame.ex:547: Explorer.DataFrame.from_query!/4468469     warning: the following clause is redundant:470471         def to_expr(%Explorer.Backend.LazySeries{op: :acos, args: [arg1]})472473     it has type:474475         dynamic(%Explorer.Backend.LazySeries{op: :acos, args: non_empty_list(term())})476477     previous clauses have already matched on the following types:478479         %Explorer.Backend.LazySeries{op: :quantile, args: non_empty_list(term(), term())}480         %Explorer.Backend.LazySeries{op: :argsort, args: non_empty_list(term(), term())}481         %Explorer.Backend.LazySeries{op: :sort, args: non_empty_list(term(), term())}482         %Explorer.Backend.LazySeries{op: :head, args: non_empty_list(term(), term())}483         %Explorer.Backend.LazySeries{op: :tail, args: non_empty_list(term(), term())}484         %Explorer.Backend.LazySeries{op: :peaks, args: non_empty_list(term(), term())}485         %Explorer.Backend.LazySeries{op: :rank, args: non_empty_list(term(), term())}486         %Explorer.Backend.LazySeries{op: :sample_n, args: non_empty_list(term(), term())}487         %Explorer.Backend.LazySeries{op: :sample_frac, args: non_empty_list(term(), term())}488         %Explorer.Backend.LazySeries{op: :exp, args: non_empty_list(term(), term())}489         %Explorer.Backend.LazySeries{op: :skew, args: non_empty_list(term(), term())}490         %Explorer.Backend.LazySeries{op: :round, args: non_empty_list(term(), term())}491         %Explorer.Backend.LazySeries{op: :clip_float, args: non_empty_list(term(), term())}492         %Explorer.Backend.LazySeries{op: :clip_integer, args: non_empty_list(term(), term())}493         %Explorer.Backend.LazySeries{op: :variance, args: non_empty_list(term(), term())}494         %Explorer.Backend.LazySeries{op: :standard_deviation, args: non_empty_list(term(), term())}495         %Explorer.Backend.LazySeries{op: :acos, args: non_empty_list(term(), term())}496         %Explorer.Backend.LazySeries{op: :asin, args: non_empty_list(term(), term())}497         %Explorer.Backend.LazySeries{op: :atan, args: non_empty_list(term(), term())}498         %Explorer.Backend.LazySeries{op: :cos, args: non_empty_list(term(), term())}499         %Explorer.Backend.LazySeries{op: :degrees, args: non_empty_list(term(), term())}500         %Explorer.Backend.LazySeries{op: :radians, args: non_empty_list(term(), term())}501         %Explorer.Backend.LazySeries{op: :sin, args: non_empty_list(term(), term())}502         %Explorer.Backend.LazySeries{op: :tan, args: non_empty_list(term(), term())}503         %Explorer.Backend.LazySeries{op: :cumulative_max, args: non_empty_list(term(), term())}504         %Explorer.Backend.LazySeries{op: :cumulative_min, args: non_empty_list(term(), term())}505         %Explorer.Backend.LazySeries{op: :cumulative_sum, args: non_empty_list(term(), term())}506         %Explorer.Backend.LazySeries{op: :cumulative_count, args: non_empty_list(term(), term())}507         %Explorer.Backend.LazySeries{op: :cumulative_product, args: non_empty_list(term(), term())}508         %Explorer.Backend.LazySeries{op: :window_max, args: non_empty_list(term(), term())}509         %Explorer.Backend.LazySeries{op: :window_mean, args: non_empty_list(term(), term())}510         %Explorer.Backend.LazySeries{op: :window_median, args: non_empty_list(term(), term())}511         %Explorer.Backend.LazySeries{op: :window_min, args: non_empty_list(term(), term())}512         %Explorer.Backend.LazySeries{op: :window_sum, args: non_empty_list(term(), term())}513         %Explorer.Backend.LazySeries{op: :window_standard_deviation, args: non_empty_list(term(), term())}514         %Explorer.Backend.LazySeries{op: :ewm_mean, args: non_empty_list(term(), term())}515         %Explorer.Backend.LazySeries{op: :ewm_standard_deviation, args: non_empty_list(term(), term())}516         %Explorer.Backend.LazySeries{op: :ewm_variance, args: non_empty_list(term(), term())}517         %Explorer.Backend.LazySeries{op: :strptime, args: non_empty_list(term(), term())}518         %Explorer.Backend.LazySeries{op: :strftime, args: non_empty_list(term(), term())}519         %Explorer.Backend.LazySeries{op: :contains, args: non_empty_list(term(), term())}520         %Explorer.Backend.LazySeries{op: :re_contains, args: non_empty_list(term(), term())}521         %Explorer.Backend.LazySeries{op: :replace, args: non_empty_list(term(), term())}522         %Explorer.Backend.LazySeries{op: :re_replace, args: non_empty_list(term(), term())}523         %Explorer.Backend.LazySeries{op: :strip, args: non_empty_list(term(), term())}524         %Explorer.Backend.LazySeries{op: :lstrip, args: non_empty_list(term(), term())}525         %Explorer.Backend.LazySeries{op: :rstrip, args: non_empty_list(term(), term())}526         %Explorer.Backend.LazySeries{op: :downcase, args: non_empty_list(term(), term())}527         %Explorer.Backend.LazySeries{op: :upcase, args: non_empty_list(term(), term())}528         %Explorer.Backend.LazySeries{op: :substring, args: non_empty_list(term(), term())}529         %Explorer.Backend.LazySeries{op: :split, args: non_empty_list(term(), term())}530         %Explorer.Backend.LazySeries{op: :split_into, args: non_empty_list(term(), term())}531         %Explorer.Backend.LazySeries{op: :json_decode, args: non_empty_list(term(), term())}532         %Explorer.Backend.LazySeries{op: :json_path_match, args: non_empty_list(term(), term())}533         %Explorer.Backend.LazySeries{op: :count_matches, args: non_empty_list(term(), term())}534         %Explorer.Backend.LazySeries{op: :re_count_matches, args: non_empty_list(term(), term())}535         %Explorer.Backend.LazySeries{op: :re_scan, args: non_empty_list(term(), term())}536         %Explorer.Backend.LazySeries{op: :re_named_captures, args: non_empty_list(term(), term())}537         %Explorer.Backend.LazySeries{op: :join, args: non_empty_list(term(), term())}538         %Explorer.Backend.LazySeries{op: :lengths, args: non_empty_list(term(), term())}539         %Explorer.Backend.LazySeries{op: :member, args: non_empty_list(term(), term())}540         %Explorer.Backend.LazySeries{op: :field, args: non_empty_list(term(), term())}541542     │543 337 │     def to_expr(%LazySeries{op: unquote(op), args: unquote(args)}) do544     │         ~545     │546     └─ lib/explorer/polars_backend/expression.ex:337:9: Explorer.PolarsBackend.Expression.to_expr/1547548     warning: the following clause is redundant:549550         def to_expr(%Explorer.Backend.LazySeries{op: :asin, args: [arg1]})551552     it has type:553554         dynamic(%Explorer.Backend.LazySeries{op: :asin, args: non_empty_list(term())})555556     previous clauses have already matched on the following types:557558         %Explorer.Backend.LazySeries{op: :quantile, args: non_empty_list(term(), term())}559         %Explorer.Backend.LazySeries{op: :argsort, args: non_empty_list(term(), term())}560         %Explorer.Backend.LazySeries{op: :sort, args: non_empty_list(term(), term())}561         %Explorer.Backend.LazySeries{op: :head, args: non_empty_list(term(), term())}562         %Explorer.Backend.LazySeries{op: :tail, args: non_empty_list(term(), term())}563         %Explorer.Backend.LazySeries{op: :peaks, args: non_empty_list(term(), term())}564         %Explorer.Backend.LazySeries{op: :rank, args: non_empty_list(term(), term())}565         %Explorer.Backend.LazySeries{op: :sample_n, args: non_empty_list(term(), term())}566         %Explorer.Backend.LazySeries{op: :sample_frac, args: non_empty_list(term(), term())}567         %Explorer.Backend.LazySeries{op: :exp, args: non_empty_list(term(), term())}568         %Explorer.Backend.LazySeries{op: :skew, args: non_empty_list(term(), term())}569         %Explorer.Backend.LazySeries{op: :round, args: non_empty_list(term(), term())}570         %Explorer.Backend.LazySeries{op: :clip_float, args: non_empty_list(term(), term())}571         %Explorer.Backend.LazySeries{op: :clip_integer, args: non_empty_list(term(), term())}572         %Explorer.Backend.LazySeries{op: :variance, args: non_empty_list(term(), term())}573         %Explorer.Backend.LazySeries{op: :standard_deviation, args: non_empty_list(term(), term())}574         %Explorer.Backend.LazySeries{op: :acos, args: non_empty_list(term(), term())}575         %Explorer.Backend.LazySeries{op: :asin, args: non_empty_list(term(), term())}576         %Explorer.Backend.LazySeries{op: :atan, args: non_empty_list(term(), term())}577         %Explorer.Backend.LazySeries{op: :cos, args: non_empty_list(term(), term())}578         %Explorer.Backend.LazySeries{op: :degrees, args: non_empty_list(term(), term())}579         %Explorer.Backend.LazySeries{op: :radians, args: non_empty_list(term(), term())}580         %Explorer.Backend.LazySeries{op: :sin, args: non_empty_list(term(), term())}581         %Explorer.Backend.LazySeries{op: :tan, args: non_empty_list(term(), term())}582         %Explorer.Backend.LazySeries{op: :cumulative_max, args: non_empty_list(term(), term())}583         %Explorer.Backend.LazySeries{op: :cumulative_min, args: non_empty_list(term(), term())}584         %Explorer.Backend.LazySeries{op: :cumulative_sum, args: non_empty_list(term(), term())}585         %Explorer.Backend.LazySeries{op: :cumulative_count, args: non_empty_list(term(), term())}586         %Explorer.Backend.LazySeries{op: :cumulative_product, args: non_empty_list(term(), term())}587         %Explorer.Backend.LazySeries{op: :window_max, args: non_empty_list(term(), term())}588         %Explorer.Backend.LazySeries{op: :window_mean, args: non_empty_list(term(), term())}589         %Explorer.Backend.LazySeries{op: :window_median, args: non_empty_list(term(), term())}590         %Explorer.Backend.LazySeries{op: :window_min, args: non_empty_list(term(), term())}591         %Explorer.Backend.LazySeries{op: :window_sum, args: non_empty_list(term(), term())}592         %Explorer.Backend.LazySeries{op: :window_standard_deviation, args: non_empty_list(term(), term())}593         %Explorer.Backend.LazySeries{op: :ewm_mean, args: non_empty_list(term(), term())}594         %Explorer.Backend.LazySeries{op: :ewm_standard_deviation, args: non_empty_list(term(), term())}595         %Explorer.Backend.LazySeries{op: :ewm_variance, args: non_empty_list(term(), term())}596         %Explorer.Backend.LazySeries{op: :strptime, args: non_empty_list(term(), term())}597         %Explorer.Backend.LazySeries{op: :strftime, args: non_empty_list(term(), term())}598         %Explorer.Backend.LazySeries{op: :contains, args: non_empty_list(term(), term())}599         %Explorer.Backend.LazySeries{op: :re_contains, args: non_empty_list(term(), term())}600         %Explorer.Backend.LazySeries{op: :replace, args: non_empty_list(term(), term())}601         %Explorer.Backend.LazySeries{op: :re_replace, args: non_empty_list(term(), term())}602         %Explorer.Backend.LazySeries{op: :strip, args: non_empty_list(term(), term())}603         %Explorer.Backend.LazySeries{op: :lstrip, args: non_empty_list(term(), term())}604         %Explorer.Backend.LazySeries{op: :rstrip, args: non_empty_list(term(), term())}605         %Explorer.Backend.LazySeries{op: :downcase, args: non_empty_list(term(), term())}606         %Explorer.Backend.LazySeries{op: :upcase, args: non_empty_list(term(), term())}607         %Explorer.Backend.LazySeries{op: :substring, args: non_empty_list(term(), term())}608         %Explorer.Backend.LazySeries{op: :split, args: non_empty_list(term(), term())}609         %Explorer.Backend.LazySeries{op: :split_into, args: non_empty_list(term(), term())}610         %Explorer.Backend.LazySeries{op: :json_decode, args: non_empty_list(term(), term())}611         %Explorer.Backend.LazySeries{op: :json_path_match, args: non_empty_list(term(), term())}612         %Explorer.Backend.LazySeries{op: :count_matches, args: non_empty_list(term(), term())}613         %Explorer.Backend.LazySeries{op: :re_count_matches, args: non_empty_list(term(), term())}614         %Explorer.Backend.LazySeries{op: :re_scan, args: non_empty_list(term(), term())}615         %Explorer.Backend.LazySeries{op: :re_named_captures, args: non_empty_list(term(), term())}616         %Explorer.Backend.LazySeries{op: :join, args: non_empty_list(term(), term())}617         %Explorer.Backend.LazySeries{op: :lengths, args: non_empty_list(term(), term())}618         %Explorer.Backend.LazySeries{op: :member, args: non_empty_list(term(), term())}619         %Explorer.Backend.LazySeries{op: :field, args: non_empty_list(term(), term())}620621     │622 337 │     def to_expr(%LazySeries{op: unquote(op), args: unquote(args)}) do623     │         ~624     │625     └─ lib/explorer/polars_backend/expression.ex:337:9: Explorer.PolarsBackend.Expression.to_expr/1626627     warning: the following clause is redundant:628629         def to_expr(%Explorer.Backend.LazySeries{op: :atan, args: [arg1]})630631     it has type:632633         dynamic(%Explorer.Backend.LazySeries{op: :atan, args: non_empty_list(term())})634635     previous clauses have already matched on the following types:636637         %Explorer.Backend.LazySeries{op: :quantile, args: non_empty_list(term(), term())}638         %Explorer.Backend.LazySeries{op: :argsort, args: non_empty_list(term(), term())}639         %Explorer.Backend.LazySeries{op: :sort, args: non_empty_list(term(), term())}640         %Explorer.Backend.LazySeries{op: :head, args: non_empty_list(term(), term())}641         %Explorer.Backend.LazySeries{op: :tail, args: non_empty_list(term(), term())}642         %Explorer.Backend.LazySeries{op: :peaks, args: non_empty_list(term(), term())}643         %Explorer.Backend.LazySeries{op: :rank, args: non_empty_list(term(), term())}644         %Explorer.Backend.LazySeries{op: :sample_n, args: non_empty_list(term(), term())}645         %Explorer.Backend.LazySeries{op: :sample_frac, args: non_empty_list(term(), term())}646         %Explorer.Backend.LazySeries{op: :exp, args: non_empty_list(term(), term())}647         %Explorer.Backend.LazySeries{op: :skew, args: non_empty_list(term(), term())}648         %Explorer.Backend.LazySeries{op: :round, args: non_empty_list(term(), term())}649         %Explorer.Backend.LazySeries{op: :clip_float, args: non_empty_list(term(), term())}650         %Explorer.Backend.LazySeries{op: :clip_integer, args: non_empty_list(term(), term())}651         %Explorer.Backend.LazySeries{op: :variance, args: non_empty_list(term(), term())}652         %Explorer.Backend.LazySeries{op: :standard_deviation, args: non_empty_list(term(), term())}653         %Explorer.Backend.LazySeries{op: :acos, args: non_empty_list(term(), term())}654         %Explorer.Backend.LazySeries{op: :asin, args: non_empty_list(term(), term())}655         %Explorer.Backend.LazySeries{op: :atan, args: non_empty_list(term(), term())}656         %Explorer.Backend.LazySeries{op: :cos, args: non_empty_list(term(), term())}657         %Explorer.Backend.LazySeries{op: :degrees, args: non_empty_list(term(), term())}658         %Explorer.Backend.LazySeries{op: :radians, args: non_empty_list(term(), term())}659         %Explorer.Backend.LazySeries{op: :sin, args: non_empty_list(term(), term())}660         %Explorer.Backend.LazySeries{op: :tan, args: non_empty_list(term(), term())}661         %Explorer.Backend.LazySeries{op: :cumulative_max, args: non_empty_list(term(), term())}662         %Explorer.Backend.LazySeries{op: :cumulative_min, args: non_empty_list(term(), term())}663         %Explorer.Backend.LazySeries{op: :cumulative_sum, args: non_empty_list(term(), term())}664         %Explorer.Backend.LazySeries{op: :cumulative_count, args: non_empty_list(term(), term())}665         %Explorer.Backend.LazySeries{op: :cumulative_product, args: non_empty_list(term(), term())}666         %Explorer.Backend.LazySeries{op: :window_max, args: non_empty_list(term(), term())}667         %Explorer.Backend.LazySeries{op: :window_mean, args: non_empty_list(term(), term())}668         %Explorer.Backend.LazySeries{op: :window_median, args: non_empty_list(term(), term())}669         %Explorer.Backend.LazySeries{op: :window_min, args: non_empty_list(term(), term())}670         %Explorer.Backend.LazySeries{op: :window_sum, args: non_empty_list(term(), term())}671         %Explorer.Backend.LazySeries{op: :window_standard_deviation, args: non_empty_list(term(), term())}672         %Explorer.Backend.LazySeries{op: :ewm_mean, args: non_empty_list(term(), term())}673         %Explorer.Backend.LazySeries{op: :ewm_standard_deviation, args: non_empty_list(term(), term())}674         %Explorer.Backend.LazySeries{op: :ewm_variance, args: non_empty_list(term(), term())}675         %Explorer.Backend.LazySeries{op: :strptime, args: non_empty_list(term(), term())}676         %Explorer.Backend.LazySeries{op: :strftime, args: non_empty_list(term(), term())}677         %Explorer.Backend.LazySeries{op: :contains, args: non_empty_list(term(), term())}678         %Explorer.Backend.LazySeries{op: :re_contains, args: non_empty_list(term(), term())}679         %Explorer.Backend.LazySeries{op: :replace, args: non_empty_list(term(), term())}680         %Explorer.Backend.LazySeries{op: :re_replace, args: non_empty_list(term(), term())}681         %Explorer.Backend.LazySeries{op: :strip, args: non_empty_list(term(), term())}682         %Explorer.Backend.LazySeries{op: :lstrip, args: non_empty_list(term(), term())}683         %Explorer.Backend.LazySeries{op: :rstrip, args: non_empty_list(term(), term())}684         %Explorer.Backend.LazySeries{op: :downcase, args: non_empty_list(term(), term())}685         %Explorer.Backend.LazySeries{op: :upcase, args: non_empty_list(term(), term())}686         %Explorer.Backend.LazySeries{op: :substring, args: non_empty_list(term(), term())}687         %Explorer.Backend.LazySeries{op: :split, args: non_empty_list(term(), term())}688         %Explorer.Backend.LazySeries{op: :split_into, args: non_empty_list(term(), term())}689         %Explorer.Backend.LazySeries{op: :json_decode, args: non_empty_list(term(), term())}690         %Explorer.Backend.LazySeries{op: :json_path_match, args: non_empty_list(term(), term())}691         %Explorer.Backend.LazySeries{op: :count_matches, args: non_empty_list(term(), term())}692         %Explorer.Backend.LazySeries{op: :re_count_matches, args: non_empty_list(term(), term())}693         %Explorer.Backend.LazySeries{op: :re_scan, args: non_empty_list(term(), term())}694         %Explorer.Backend.LazySeries{op: :re_named_captures, args: non_empty_list(term(), term())}695         %Explorer.Backend.LazySeries{op: :join, args: non_empty_list(term(), term())}696         %Explorer.Backend.LazySeries{op: :lengths, args: non_empty_list(term(), term())}697         %Explorer.Backend.LazySeries{op: :member, args: non_empty_list(term(), term())}698         %Explorer.Backend.LazySeries{op: :field, args: non_empty_list(term(), term())}699700     │701 337 │     def to_expr(%LazySeries{op: unquote(op), args: unquote(args)}) do702     │         ~703     │704     └─ lib/explorer/polars_backend/expression.ex:337:9: Explorer.PolarsBackend.Expression.to_expr/1705706     warning: this clause of defp dtype_for_agg_operation/2 is never used (or it will always fail/warn when invoked)707     │708 825 │   defp dtype_for_agg_operation(op, _) when op in [:all?, :any?], do: :boolean709     │        ~710     │711     └─ lib/explorer/backend/lazy_series.ex:825:8: Explorer.Backend.LazySeries.dtype_for_agg_operation/2712713     warning: the following clause is redundant:714715         def to_expr(%Explorer.Backend.LazySeries{op: :cos, args: [arg1]})716717     it has type:718719         dynamic(%Explorer.Backend.LazySeries{op: :cos, args: non_empty_list(term())})720721     previous clauses have already matched on the following types:722723         %Explorer.Backend.LazySeries{op: :quantile, args: non_empty_list(term(), term())}724         %Explorer.Backend.LazySeries{op: :argsort, args: non_empty_list(term(), term())}725         %Explorer.Backend.LazySeries{op: :sort, args: non_empty_list(term(), term())}726         %Explorer.Backend.LazySeries{op: :head, args: non_empty_list(term(), term())}727         %Explorer.Backend.LazySeries{op: :tail, args: non_empty_list(term(), term())}728         %Explorer.Backend.LazySeries{op: :peaks, args: non_empty_list(term(), term())}729         %Explorer.Backend.LazySeries{op: :rank, args: non_empty_list(term(), term())}730         %Explorer.Backend.LazySeries{op: :sample_n, args: non_empty_list(term(), term())}731         %Explorer.Backend.LazySeries{op: :sample_frac, args: non_empty_list(term(), term())}732         %Explorer.Backend.LazySeries{op: :exp, args: non_empty_list(term(), term())}733         %Explorer.Backend.LazySeries{op: :skew, args: non_empty_list(term(), term())}734         %Explorer.Backend.LazySeries{op: :round, args: non_empty_list(term(), term())}735         %Explorer.Backend.LazySeries{op: :clip_float, args: non_empty_list(term(), term())}736         %Explorer.Backend.LazySeries{op: :clip_integer, args: non_empty_list(term(), term())}737         %Explorer.Backend.LazySeries{op: :variance, args: non_empty_list(term(), term())}738         %Explorer.Backend.LazySeries{op: :standard_deviation, args: non_empty_list(term(), term())}739         %Explorer.Backend.LazySeries{op: :acos, args: non_empty_list(term(), term())}740         %Explorer.Backend.LazySeries{op: :asin, args: non_empty_list(term(), term())}741         %Explorer.Backend.LazySeries{op: :atan, args: non_empty_list(term(), term())}742         %Explorer.Backend.LazySeries{op: :cos, args: non_empty_list(term(), term())}743         %Explorer.Backend.LazySeries{op: :degrees, args: non_empty_list(term(), term())}744         %Explorer.Backend.LazySeries{op: :radians, args: non_empty_list(term(), term())}745         %Explorer.Backend.LazySeries{op: :sin, args: non_empty_list(term(), term())}746         %Explorer.Backend.LazySeries{op: :tan, args: non_empty_list(term(), term())}747         %Explorer.Backend.LazySeries{op: :cumulative_max, args: non_empty_list(term(), term())}748         %Explorer.Backend.LazySeries{op: :cumulative_min, args: non_empty_list(term(), term())}749         %Explorer.Backend.LazySeries{op: :cumulative_sum, args: non_empty_list(term(), term())}750         %Explorer.Backend.LazySeries{op: :cumulative_count, args: non_empty_list(term(), term())}751         %Explorer.Backend.LazySeries{op: :cumulative_product, args: non_empty_list(term(), term())}752         %Explorer.Backend.LazySeries{op: :window_max, args: non_empty_list(term(), term())}753         %Explorer.Backend.LazySeries{op: :window_mean, args: non_empty_list(term(), term())}754         %Explorer.Backend.LazySeries{op: :window_median, args: non_empty_list(term(), term())}755         %Explorer.Backend.LazySeries{op: :window_min, args: non_empty_list(term(), term())}756         %Explorer.Backend.LazySeries{op: :window_sum, args: non_empty_list(term(), term())}757         %Explorer.Backend.LazySeries{op: :window_standard_deviation, args: non_empty_list(term(), term())}758         %Explorer.Backend.LazySeries{op: :ewm_mean, args: non_empty_list(term(), term())}759         %Explorer.Backend.LazySeries{op: :ewm_standard_deviation, args: non_empty_list(term(), term())}760         %Explorer.Backend.LazySeries{op: :ewm_variance, args: non_empty_list(term(), term())}761         %Explorer.Backend.LazySeries{op: :strptime, args: non_empty_list(term(), term())}762         %Explorer.Backend.LazySeries{op: :strftime, args: non_empty_list(term(), term())}763         %Explorer.Backend.LazySeries{op: :contains, args: non_empty_list(term(), term())}764         %Explorer.Backend.LazySeries{op: :re_contains, args: non_empty_list(term(), term())}765         %Explorer.Backend.LazySeries{op: :replace, args: non_empty_list(term(), term())}766         %Explorer.Backend.LazySeries{op: :re_replace, args: non_empty_list(term(), term())}767         %Explorer.Backend.LazySeries{op: :strip, args: non_empty_list(term(), term())}768         %Explorer.Backend.LazySeries{op: :lstrip, args: non_empty_list(term(), term())}769         %Explorer.Backend.LazySeries{op: :rstrip, args: non_empty_list(term(), term())}770         %Explorer.Backend.LazySeries{op: :downcase, args: non_empty_list(term(), term())}771         %Explorer.Backend.LazySeries{op: :upcase, args: non_empty_list(term(), term())}772         %Explorer.Backend.LazySeries{op: :substring, args: non_empty_list(term(), term())}773         %Explorer.Backend.LazySeries{op: :split, args: non_empty_list(term(), term())}774         %Explorer.Backend.LazySeries{op: :split_into, args: non_empty_list(term(), term())}775         %Explorer.Backend.LazySeries{op: :json_decode, args: non_empty_list(term(), term())}776         %Explorer.Backend.LazySeries{op: :json_path_match, args: non_empty_list(term(), term())}777         %Explorer.Backend.LazySeries{op: :count_matches, args: non_empty_list(term(), term())}778         %Explorer.Backend.LazySeries{op: :re_count_matches, args: non_empty_list(term(), term())}779         %Explorer.Backend.LazySeries{op: :re_scan, args: non_empty_list(term(), term())}780         %Explorer.Backend.LazySeries{op: :re_named_captures, args: non_empty_list(term(), term())}781         %Explorer.Backend.LazySeries{op: :join, args: non_empty_list(term(), term())}782         %Explorer.Backend.LazySeries{op: :lengths, args: non_empty_list(term(), term())}783         %Explorer.Backend.LazySeries{op: :member, args: non_empty_list(term(), term())}784         %Explorer.Backend.LazySeries{op: :field, args: non_empty_list(term(), term())}785786     │787 337 │     def to_expr(%LazySeries{op: unquote(op), args: unquote(args)}) do788     │         ~789     │790     └─ lib/explorer/polars_backend/expression.ex:337:9: Explorer.PolarsBackend.Expression.to_expr/1791792     warning: the following clause is redundant:793794         def to_expr(%Explorer.Backend.LazySeries{op: :degrees, args: [arg1]})795796     it has type:797798         dynamic(%Explorer.Backend.LazySeries{op: :degrees, args: non_empty_list(term())})799800     previous clauses have already matched on the following types:801802         %Explorer.Backend.LazySeries{op: :quantile, args: non_empty_list(term(), term())}803         %Explorer.Backend.LazySeries{op: :argsort, args: non_empty_list(term(), term())}804         %Explorer.Backend.LazySeries{op: :sort, args: non_empty_list(term(), term())}805         %Explorer.Backend.LazySeries{op: :head, args: non_empty_list(term(), term())}806         %Explorer.Backend.LazySeries{op: :tail, args: non_empty_list(term(), term())}807         %Explorer.Backend.LazySeries{op: :peaks, args: non_empty_list(term(), term())}808         %Explorer.Backend.LazySeries{op: :rank, args: non_empty_list(term(), term())}809         %Explorer.Backend.LazySeries{op: :sample_n, args: non_empty_list(term(), term())}810         %Explorer.Backend.LazySeries{op: :sample_frac, args: non_empty_list(term(), term())}811         %Explorer.Backend.LazySeries{op: :exp, args: non_empty_list(term(), term())}812         %Explorer.Backend.LazySeries{op: :skew, args: non_empty_list(term(), term())}813         %Explorer.Backend.LazySeries{op: :round, args: non_empty_list(term(), term())}814         %Explorer.Backend.LazySeries{op: :clip_float, args: non_empty_list(term(), term())}815         %Explorer.Backend.LazySeries{op: :clip_integer, args: non_empty_list(term(), term())}816         %Explorer.Backend.LazySeries{op: :variance, args: non_empty_list(term(), term())}817         %Explorer.Backend.LazySeries{op: :standard_deviation, args: non_empty_list(term(), term())}818         %Explorer.Backend.LazySeries{op: :acos, args: non_empty_list(term(), term())}819         %Explorer.Backend.LazySeries{op: :asin, args: non_empty_list(term(), term())}820         %Explorer.Backend.LazySeries{op: :atan, args: non_empty_list(term(), term())}821         %Explorer.Backend.LazySeries{op: :cos, args: non_empty_list(term(), term())}822         %Explorer.Backend.LazySeries{op: :degrees, args: non_empty_list(term(), term())}823         %Explorer.Backend.LazySeries{op: :radians, args: non_empty_list(term(), term())}824         %Explorer.Backend.LazySeries{op: :sin, args: non_empty_list(term(), term())}825         %Explorer.Backend.LazySeries{op: :tan, args: non_empty_list(term(), term())}826         %Explorer.Backend.LazySeries{op: :cumulative_max, args: non_empty_list(term(), term())}827         %Explorer.Backend.LazySeries{op: :cumulative_min, args: non_empty_list(term(), term())}828         %Explorer.Backend.LazySeries{op: :cumulative_sum, args: non_empty_list(term(), term())}829         %Explorer.Backend.LazySeries{op: :cumulative_count, args: non_empty_list(term(), term())}830         %Explorer.Backend.LazySeries{op: :cumulative_product, args: non_empty_list(term(), term())}831         %Explorer.Backend.LazySeries{op: :window_max, args: non_empty_list(term(), term())}832         %Explorer.Backend.LazySeries{op: :window_mean, args: non_empty_list(term(), term())}833         %Explorer.Backend.LazySeries{op: :window_median, args: non_empty_list(term(), term())}834         %Explorer.Backend.LazySeries{op: :window_min, args: non_empty_list(term(), term())}835         %Explorer.Backend.LazySeries{op: :window_sum, args: non_empty_list(term(), term())}836         %Explorer.Backend.LazySeries{op: :window_standard_deviation, args: non_empty_list(term(), term())}837         %Explorer.Backend.LazySeries{op: :ewm_mean, args: non_empty_list(term(), term())}838         %Explorer.Backend.LazySeries{op: :ewm_standard_deviation, args: non_empty_list(term(), term())}839         %Explorer.Backend.LazySeries{op: :ewm_variance, args: non_empty_list(term(), term())}840         %Explorer.Backend.LazySeries{op: :strptime, args: non_empty_list(term(), term())}841         %Explorer.Backend.LazySeries{op: :strftime, args: non_empty_list(term(), term())}842         %Explorer.Backend.LazySeries{op: :contains, args: non_empty_list(term(), term())}843         %Explorer.Backend.LazySeries{op: :re_contains, args: non_empty_list(term(), term())}844         %Explorer.Backend.LazySeries{op: :replace, args: non_empty_list(term(), term())}845         %Explorer.Backend.LazySeries{op: :re_replace, args: non_empty_list(term(), term())}846         %Explorer.Backend.LazySeries{op: :strip, args: non_empty_list(term(), term())}847         %Explorer.Backend.LazySeries{op: :lstrip, args: non_empty_list(term(), term())}848         %Explorer.Backend.LazySeries{op: :rstrip, args: non_empty_list(term(), term())}849         %Explorer.Backend.LazySeries{op: :downcase, args: non_empty_list(term(), term())}850         %Explorer.Backend.LazySeries{op: :upcase, args: non_empty_list(term(), term())}851         %Explorer.Backend.LazySeries{op: :substring, args: non_empty_list(term(), term())}852         %Explorer.Backend.LazySeries{op: :split, args: non_empty_list(term(), term())}853         %Explorer.Backend.LazySeries{op: :split_into, args: non_empty_list(term(), term())}854         %Explorer.Backend.LazySeries{op: :json_decode, args: non_empty_list(term(), term())}855         %Explorer.Backend.LazySeries{op: :json_path_match, args: non_empty_list(term(), term())}856         %Explorer.Backend.LazySeries{op: :count_matches, args: non_empty_list(term(), term())}857         %Explorer.Backend.LazySeries{op: :re_count_matches, args: non_empty_list(term(), term())}858         %Explorer.Backend.LazySeries{op: :re_scan, args: non_empty_list(term(), term())}859         %Explorer.Backend.LazySeries{op: :re_named_captures, args: non_empty_list(term(), term())}860         %Explorer.Backend.LazySeries{op: :join, args: non_empty_list(term(), term())}861         %Explorer.Backend.LazySeries{op: :lengths, args: non_empty_list(term(), term())}862         %Explorer.Backend.LazySeries{op: :member, args: non_empty_list(term(), term())}863         %Explorer.Backend.LazySeries{op: :field, args: non_empty_list(term(), term())}864865     │866 337 │     def to_expr(%LazySeries{op: unquote(op), args: unquote(args)}) do867     │         ~868     │869     └─ lib/explorer/polars_backend/expression.ex:337:9: Explorer.PolarsBackend.Expression.to_expr/1870871     warning: the following clause is redundant:872873         def to_expr(%Explorer.Backend.LazySeries{op: :exp, args: [arg1]})874875     it has type:876877         dynamic(%Explorer.Backend.LazySeries{op: :exp, args: non_empty_list(term())})878879     previous clauses have already matched on the following types:880881         %Explorer.Backend.LazySeries{op: :quantile, args: non_empty_list(term(), term())}882         %Explorer.Backend.LazySeries{op: :argsort, args: non_empty_list(term(), term())}883         %Explorer.Backend.LazySeries{op: :sort, args: non_empty_list(term(), term())}884         %Explorer.Backend.LazySeries{op: :head, args: non_empty_list(term(), term())}885         %Explorer.Backend.LazySeries{op: :tail, args: non_empty_list(term(), term())}886         %Explorer.Backend.LazySeries{op: :peaks, args: non_empty_list(term(), term())}887         %Explorer.Backend.LazySeries{op: :rank, args: non_empty_list(term(), term())}888         %Explorer.Backend.LazySeries{op: :sample_n, args: non_empty_list(term(), term())}889         %Explorer.Backend.LazySeries{op: :sample_frac, args: non_empty_list(term(), term())}890         %Explorer.Backend.LazySeries{op: :exp, args: non_empty_list(term(), term())}891         %Explorer.Backend.LazySeries{op: :skew, args: non_empty_list(term(), term())}892         %Explorer.Backend.LazySeries{op: :round, args: non_empty_list(term(), term())}893         %Explorer.Backend.LazySeries{op: :clip_float, args: non_empty_list(term(), term())}894         %Explorer.Backend.LazySeries{op: :clip_integer, args: non_empty_list(term(), term())}895         %Explorer.Backend.LazySeries{op: :variance, args: non_empty_list(term(), term())}896         %Explorer.Backend.LazySeries{op: :standard_deviation, args: non_empty_list(term(), term())}897         %Explorer.Backend.LazySeries{op: :acos, args: non_empty_list(term(), term())}898         %Explorer.Backend.LazySeries{op: :asin, args: non_empty_list(term(), term())}899         %Explorer.Backend.LazySeries{op: :atan, args: non_empty_list(term(), term())}900         %Explorer.Backend.LazySeries{op: :cos, args: non_empty_list(term(), term())}901         %Explorer.Backend.LazySeries{op: :degrees, args: non_empty_list(term(), term())}902         %Explorer.Backend.LazySeries{op: :radians, args: non_empty_list(term(), term())}903         %Explorer.Backend.LazySeries{op: :sin, args: non_empty_list(term(), term())}904         %Explorer.Backend.LazySeries{op: :tan, args: non_empty_list(term(), term())}905         %Explorer.Backend.LazySeries{op: :cumulative_max, args: non_empty_list(term(), term())}906         %Explorer.Backend.LazySeries{op: :cumulative_min, args: non_empty_list(term(), term())}907         %Explorer.Backend.LazySeries{op: :cumulative_sum, args: non_empty_list(term(), term())}908         %Explorer.Backend.LazySeries{op: :cumulative_count, args: non_empty_list(term(), term())}909         %Explorer.Backend.LazySeries{op: :cumulative_product, args: non_empty_list(term(), term())}910         %Explorer.Backend.LazySeries{op: :window_max, args: non_empty_list(term(), term())}911         %Explorer.Backend.LazySeries{op: :window_mean, args: non_empty_list(term(), term())}912         %Explorer.Backend.LazySeries{op: :window_median, args: non_empty_list(term(), term())}913         %Explorer.Backend.LazySeries{op: :window_min, args: non_empty_list(term(), term())}914         %Explorer.Backend.LazySeries{op: :window_sum, args: non_empty_list(term(), term())}915         %Explorer.Backend.LazySeries{op: :window_standard_deviation, args: non_empty_list(term(), term())}916         %Explorer.Backend.LazySeries{op: :ewm_mean, args: non_empty_list(term(), term())}917         %Explorer.Backend.LazySeries{op: :ewm_standard_deviation, args: non_empty_list(term(), term())}918         %Explorer.Backend.LazySeries{op: :ewm_variance, args: non_empty_list(term(), term())}919         %Explorer.Backend.LazySeries{op: :strptime, args: non_empty_list(term(), term())}920         %Explorer.Backend.LazySeries{op: :strftime, args: non_empty_list(term(), term())}921         %Explorer.Backend.LazySeries{op: :contains, args: non_empty_list(term(), term())}922         %Explorer.Backend.LazySeries{op: :re_contains, args: non_empty_list(term(), term())}923         %Explorer.Backend.LazySeries{op: :replace, args: non_empty_list(term(), term())}924         %Explorer.Backend.LazySeries{op: :re_replace, args: non_empty_list(term(), term())}925         %Explorer.Backend.LazySeries{op: :strip, args: non_empty_list(term(), term())}926         %Explorer.Backend.LazySeries{op: :lstrip, args: non_empty_list(term(), term())}927         %Explorer.Backend.LazySeries{op: :rstrip, args: non_empty_list(term(), term())}928         %Explorer.Backend.LazySeries{op: :downcase, args: non_empty_list(term(), term())}929         %Explorer.Backend.LazySeries{op: :upcase, args: non_empty_list(term(), term())}930         %Explorer.Backend.LazySeries{op: :substring, args: non_empty_list(term(), term())}931         %Explorer.Backend.LazySeries{op: :split, args: non_empty_list(term(), term())}932         %Explorer.Backend.LazySeries{op: :split_into, args: non_empty_list(term(), term())}933         %Explorer.Backend.LazySeries{op: :json_decode, args: non_empty_list(term(), term())}934         %Explorer.Backend.LazySeries{op: :json_path_match, args: non_empty_list(term(), term())}935         %Explorer.Backend.LazySeries{op: :count_matches, args: non_empty_list(term(), term())}936         %Explorer.Backend.LazySeries{op: :re_count_matches, args: non_empty_list(term(), term())}937         %Explorer.Backend.LazySeries{op: :re_scan, args: non_empty_list(term(), term())}938         %Explorer.Backend.LazySeries{op: :re_named_captures, args: non_empty_list(term(), term())}939         %Explorer.Backend.LazySeries{op: :join, args: non_empty_list(term(), term())}940         %Explorer.Backend.LazySeries{op: :lengths, args: non_empty_list(term(), term())}941         %Explorer.Backend.LazySeries{op: :member, args: non_empty_list(term(), term())}942         %Explorer.Backend.LazySeries{op: :field, args: non_empty_list(term(), term())}943944     │945 337 │     def to_expr(%LazySeries{op: unquote(op), args: unquote(args)}) do946     │         ~947     │948     └─ lib/explorer/polars_backend/expression.ex:337:9: Explorer.PolarsBackend.Expression.to_expr/1949950     warning: the following clause is redundant:951952         def to_expr(%Explorer.Backend.LazySeries{op: :radians, args: [arg1]})953954     it has type:955956         dynamic(%Explorer.Backend.LazySeries{op: :radians, args: non_empty_list(term())})957958     previous clauses have already matched on the following types:959960         %Explorer.Backend.LazySeries{op: :quantile, args: non_empty_list(term(), term())}961         %Explorer.Backend.LazySeries{op: :argsort, args: non_empty_list(term(), term())}962         %Explorer.Backend.LazySeries{op: :sort, args: non_empty_list(term(), term())}963         %Explorer.Backend.LazySeries{op: :head, args: non_empty_list(term(), term())}964         %Explorer.Backend.LazySeries{op: :tail, args: non_empty_list(term(), term())}965         %Explorer.Backend.LazySeries{op: :peaks, args: non_empty_list(term(), term())}966         %Explorer.Backend.LazySeries{op: :rank, args: non_empty_list(term(), term())}967         %Explorer.Backend.LazySeries{op: :sample_n, args: non_empty_list(term(), term())}968         %Explorer.Backend.LazySeries{op: :sample_frac, args: non_empty_list(term(), term())}969         %Explorer.Backend.LazySeries{op: :exp, args: non_empty_list(term(), term())}970         %Explorer.Backend.LazySeries{op: :skew, args: non_empty_list(term(), term())}971         %Explorer.Backend.LazySeries{op: :round, args: non_empty_list(term(), term())}972         %Explorer.Backend.LazySeries{op: :clip_float, args: non_empty_list(term(), term())}973         %Explorer.Backend.LazySeries{op: :clip_integer, args: non_empty_list(term(), term())}974         %Explorer.Backend.LazySeries{op: :variance, args: non_empty_list(term(), term())}975         %Explorer.Backend.LazySeries{op: :standard_deviation, args: non_empty_list(term(), term())}976         %Explorer.Backend.LazySeries{op: :acos, args: non_empty_list(term(), term())}977         %Explorer.Backend.LazySeries{op: :asin, args: non_empty_list(term(), term())}978         %Explorer.Backend.LazySeries{op: :atan, args: non_empty_list(term(), term())}979         %Explorer.Backend.LazySeries{op: :cos, args: non_empty_list(term(), term())}980         %Explorer.Backend.LazySeries{op: :degrees, args: non_empty_list(term(), term())}981         %Explorer.Backend.LazySeries{op: :radians, args: non_empty_list(term(), term())}982         %Explorer.Backend.LazySeries{op: :sin, args: non_empty_list(term(), term())}983         %Explorer.Backend.LazySeries{op: :tan, args: non_empty_list(term(), term())}984         %Explorer.Backend.LazySeries{op: :cumulative_max, args: non_empty_list(term(), term())}985         %Explorer.Backend.LazySeries{op: :cumulative_min, args: non_empty_list(term(), term())}986         %Explorer.Backend.LazySeries{op: :cumulative_sum, args: non_empty_list(term(), term())}987         %Explorer.Backend.LazySeries{op: :cumulative_count, args: non_empty_list(term(), term())}988         %Explorer.Backend.LazySeries{op: :cumulative_product, args: non_empty_list(term(), term())}989         %Explorer.Backend.LazySeries{op: :window_max, args: non_empty_list(term(), term())}990         %Explorer.Backend.LazySeries{op: :window_mean, args: non_empty_list(term(), term())}991         %Explorer.Backend.LazySeries{op: :window_median, args: non_empty_list(term(), term())}992         %Explorer.Backend.LazySeries{op: :window_min, args: non_empty_list(term(), term())}993         %Explorer.Backend.LazySeries{op: :window_sum, args: non_empty_list(term(), term())}994         %Explorer.Backend.LazySeries{op: :window_standard_deviation, args: non_empty_list(term(), term())}995         %Explorer.Backend.LazySeries{op: :ewm_mean, args: non_empty_list(term(), term())}996         %Explorer.Backend.LazySeries{op: :ewm_standard_deviation, args: non_empty_list(term(), term())}997         %Explorer.Backend.LazySeries{op: :ewm_variance, args: non_empty_list(term(), term())}998         %Explorer.Backend.LazySeries{op: :strptime, args: non_empty_list(term(), term())}999         %Explorer.Backend.LazySeries{op: :strftime, args: non_empty_list(term(), term())}1000         %Explorer.Backend.LazySeries{op: :contains, args: non_empty_list(term(), term())}1001         %Explorer.Backend.LazySeries{op: :re_contains, args: non_empty_list(term(), term())}1002         %Explorer.Backend.LazySeries{op: :replace, args: non_empty_list(term(), term())}1003         %Explorer.Backend.LazySeries{op: :re_replace, args: non_empty_list(term(), term())}1004         %Explorer.Backend.LazySeries{op: :strip, args: non_empty_list(term(), term())}1005         %Explorer.Backend.LazySeries{op: :lstrip, args: non_empty_list(term(), term())}1006         %Explorer.Backend.LazySeries{op: :rstrip, args: non_empty_list(term(), term())}1007         %Explorer.Backend.LazySeries{op: :downcase, args: non_empty_list(term(), term())}1008         %Explorer.Backend.LazySeries{op: :upcase, args: non_empty_list(term(), term())}1009         %Explorer.Backend.LazySeries{op: :substring, args: non_empty_list(term(), term())}1010         %Explorer.Backend.LazySeries{op: :split, args: non_empty_list(term(), term())}1011         %Explorer.Backend.LazySeries{op: :split_into, args: non_empty_list(term(), term())}1012         %Explorer.Backend.LazySeries{op: :json_decode, args: non_empty_list(term(), term())}1013         %Explorer.Backend.LazySeries{op: :json_path_match, args: non_empty_list(term(), term())}1014         %Explorer.Backend.LazySeries{op: :count_matches, args: non_empty_list(term(), term())}1015         %Explorer.Backend.LazySeries{op: :re_count_matches, args: non_empty_list(term(), term())}1016         %Explorer.Backend.LazySeries{op: :re_scan, args: non_empty_list(term(), term())}1017         %Explorer.Backend.LazySeries{op: :re_named_captures, args: non_empty_list(term(), term())}1018         %Explorer.Backend.LazySeries{op: :join, args: non_empty_list(term(), term())}1019         %Explorer.Backend.LazySeries{op: :lengths, args: non_empty_list(term(), term())}1020         %Explorer.Backend.LazySeries{op: :member, args: non_empty_list(term(), term())}1021         %Explorer.Backend.LazySeries{op: :field, args: non_empty_list(term(), term())}10221023     │1024 337 │     def to_expr(%LazySeries{op: unquote(op), args: unquote(args)}) do1025     │         ~1026     │1027     └─ lib/explorer/polars_backend/expression.ex:337:9: Explorer.PolarsBackend.Expression.to_expr/110281029      warning: incompatible types given to lazy_series!/1:10301031          lazy_series!(series)10321033      given types:10341035          -dynamic(not %Explorer.Series{})-10361037      but expected one of:10381039          %Explorer.Series{data: %Explorer.Backend.LazySeries{}}10401041      where "series" was given the type:10421043          # type: dynamic(not %Explorer.Series{})1044          # from: lib/explorer/backend/lazy_series.ex:1081:121045          series10461047      type warning found at:1048      │1049 1082 │     data = new(:size, [lazy_series!(series)], {:u, 32})1050      │                        ~1051      │1052      └─ lib/explorer/backend/lazy_series.ex:1082:24: Explorer.Backend.LazySeries.size/110531054     warning: the following clause is redundant:10551056         def to_expr(%Explorer.Backend.LazySeries{op: :sin, args: [arg1]})10571058     it has type:10591060         dynamic(%Explorer.Backend.LazySeries{op: :sin, args: non_empty_list(term())})10611062     previous clauses have already matched on the following types:10631064         %Explorer.Backend.LazySeries{op: :quantile, args: non_empty_list(term(), term())}1065         %Explorer.Backend.LazySeries{op: :argsort, args: non_empty_list(term(), term())}1066         %Explorer.Backend.LazySeries{op: :sort, args: non_empty_list(term(), term())}1067         %Explorer.Backend.LazySeries{op: :head, args: non_empty_list(term(), term())}1068         %Explorer.Backend.LazySeries{op: :tail, args: non_empty_list(term(), term())}1069         %Explorer.Backend.LazySeries{op: :peaks, args: non_empty_list(term(), term())}1070         %Explorer.Backend.LazySeries{op: :rank, args: non_empty_list(term(), term())}1071         %Explorer.Backend.LazySeries{op: :sample_n, args: non_empty_list(term(), term())}1072         %Explorer.Backend.LazySeries{op: :sample_frac, args: non_empty_list(term(), term())}1073         %Explorer.Backend.LazySeries{op: :exp, args: non_empty_list(term(), term())}1074         %Explorer.Backend.LazySeries{op: :skew, args: non_empty_list(term(), term())}1075         %Explorer.Backend.LazySeries{op: :round, args: non_empty_list(term(), term())}1076         %Explorer.Backend.LazySeries{op: :clip_float, args: non_empty_list(term(), term())}1077         %Explorer.Backend.LazySeries{op: :clip_integer, args: non_empty_list(term(), term())}1078         %Explorer.Backend.LazySeries{op: :variance, args: non_empty_list(term(), term())}1079         %Explorer.Backend.LazySeries{op: :standard_deviation, args: non_empty_list(term(), term())}1080         %Explorer.Backend.LazySeries{op: :acos, args: non_empty_list(term(), term())}1081         %Explorer.Backend.LazySeries{op: :asin, args: non_empty_list(term(), term())}1082         %Explorer.Backend.LazySeries{op: :atan, args: non_empty_list(term(), term())}1083         %Explorer.Backend.LazySeries{op: :cos, args: non_empty_list(term(), term())}1084         %Explorer.Backend.LazySeries{op: :degrees, args: non_empty_list(term(), term())}1085         %Explorer.Backend.LazySeries{op: :radians, args: non_empty_list(term(), term())}1086         %Explorer.Backend.LazySeries{op: :sin, args: non_empty_list(term(), term())}1087         %Explorer.Backend.LazySeries{op: :tan, args: non_empty_list(term(), term())}1088         %Explorer.Backend.LazySeries{op: :cumulative_max, args: non_empty_list(term(), term())}1089         %Explorer.Backend.LazySeries{op: :cumulative_min, args: non_empty_list(term(), term())}1090         %Explorer.Backend.LazySeries{op: :cumulative_sum, args: non_empty_list(term(), term())}1091         %Explorer.Backend.LazySeries{op: :cumulative_count, args: non_empty_list(term(), term())}1092         %Explorer.Backend.LazySeries{op: :cumulative_product, args: non_empty_list(term(), term())}1093         %Explorer.Backend.LazySeries{op: :window_max, args: non_empty_list(term(), term())}1094         %Explorer.Backend.LazySeries{op: :window_mean, args: non_empty_list(term(), term())}1095         %Explorer.Backend.LazySeries{op: :window_median, args: non_empty_list(term(), term())}1096         %Explorer.Backend.LazySeries{op: :window_min, args: non_empty_list(term(), term())}1097         %Explorer.Backend.LazySeries{op: :window_sum, args: non_empty_list(term(), term())}1098         %Explorer.Backend.LazySeries{op: :window_standard_deviation, args: non_empty_list(term(), term())}1099         %Explorer.Backend.LazySeries{op: :ewm_mean, args: non_empty_list(term(), term())}1100         %Explorer.Backend.LazySeries{op: :ewm_standard_deviation, args: non_empty_list(term(), term())}1101         %Explorer.Backend.LazySeries{op: :ewm_variance, args: non_empty_list(term(), term())}1102         %Explorer.Backend.LazySeries{op: :strptime, args: non_empty_list(term(), term())}1103         %Explorer.Backend.LazySeries{op: :strftime, args: non_empty_list(term(), term())}1104         %Explorer.Backend.LazySeries{op: :contains, args: non_empty_list(term(), term())}1105         %Explorer.Backend.LazySeries{op: :re_contains, args: non_empty_list(term(), term())}1106         %Explorer.Backend.LazySeries{op: :replace, args: non_empty_list(term(), term())}1107         %Explorer.Backend.LazySeries{op: :re_replace, args: non_empty_list(term(), term())}1108         %Explorer.Backend.LazySeries{op: :strip, args: non_empty_list(term(), term())}1109         %Explorer.Backend.LazySeries{op: :lstrip, args: non_empty_list(term(), term())}1110         %Explorer.Backend.LazySeries{op: :rstrip, args: non_empty_list(term(), term())}1111         %Explorer.Backend.LazySeries{op: :downcase, args: non_empty_list(term(), term())}1112         %Explorer.Backend.LazySeries{op: :upcase, args: non_empty_list(term(), term())}1113         %Explorer.Backend.LazySeries{op: :substring, args: non_empty_list(term(), term())}1114         %Explorer.Backend.LazySeries{op: :split, args: non_empty_list(term(), term())}1115         %Explorer.Backend.LazySeries{op: :split_into, args: non_empty_list(term(), term())}1116         %Explorer.Backend.LazySeries{op: :json_decode, args: non_empty_list(term(), term())}1117         %Explorer.Backend.LazySeries{op: :json_path_match, args: non_empty_list(term(), term())}1118         %Explorer.Backend.LazySeries{op: :count_matches, args: non_empty_list(term(), term())}1119         %Explorer.Backend.LazySeries{op: :re_count_matches, args: non_empty_list(term(), term())}1120         %Explorer.Backend.LazySeries{op: :re_scan, args: non_empty_list(term(), term())}1121         %Explorer.Backend.LazySeries{op: :re_named_captures, args: non_empty_list(term(), term())}1122         %Explorer.Backend.LazySeries{op: :join, args: non_empty_list(term(), term())}1123         %Explorer.Backend.LazySeries{op: :lengths, args: non_empty_list(term(), term())}1124         %Explorer.Backend.LazySeries{op: :member, args: non_empty_list(term(), term())}1125         %Explorer.Backend.LazySeries{op: :field, args: non_empty_list(term(), term())}11261127     │1128 337 │     def to_expr(%LazySeries{op: unquote(op), args: unquote(args)}) do1129     │         ~1130     │1131     └─ lib/explorer/polars_backend/expression.ex:337:9: Explorer.PolarsBackend.Expression.to_expr/111321133     warning: the following clause is redundant:11341135         def to_expr(%Explorer.Backend.LazySeries{op: :skew, args: [arg1, arg2]})11361137     it has type:11381139         dynamic(%Explorer.Backend.LazySeries{op: :skew, args: non_empty_list(term())})11401141     previous clauses have already matched on the following types:11421143         %Explorer.Backend.LazySeries{op: :quantile, args: non_empty_list(term(), term())}1144         %Explorer.Backend.LazySeries{op: :argsort, args: non_empty_list(term(), term())}1145         %Explorer.Backend.LazySeries{op: :sort, args: non_empty_list(term(), term())}1146         %Explorer.Backend.LazySeries{op: :head, args: non_empty_list(term(), term())}1147         %Explorer.Backend.LazySeries{op: :tail, args: non_empty_list(term(), term())}1148         %Explorer.Backend.LazySeries{op: :peaks, args: non_empty_list(term(), term())}1149         %Explorer.Backend.LazySeries{op: :rank, args: non_empty_list(term(), term())}1150         %Explorer.Backend.LazySeries{op: :sample_n, args: non_empty_list(term(), term())}1151         %Explorer.Backend.LazySeries{op: :sample_frac, args: non_empty_list(term(), term())}1152         %Explorer.Backend.LazySeries{op: :exp, args: non_empty_list(term(), term())}1153         %Explorer.Backend.LazySeries{op: :skew, args: non_empty_list(term(), term())}1154         %Explorer.Backend.LazySeries{op: :round, args: non_empty_list(term(), term())}1155         %Explorer.Backend.LazySeries{op: :clip_float, args: non_empty_list(term(), term())}1156         %Explorer.Backend.LazySeries{op: :clip_integer, args: non_empty_list(term(), term())}1157         %Explorer.Backend.LazySeries{op: :variance, args: non_empty_list(term(), term())}1158         %Explorer.Backend.LazySeries{op: :standard_deviation, args: non_empty_list(term(), term())}1159         %Explorer.Backend.LazySeries{op: :acos, args: non_empty_list(term(), term())}1160         %Explorer.Backend.LazySeries{op: :asin, args: non_empty_list(term(), term())}1161         %Explorer.Backend.LazySeries{op: :atan, args: non_empty_list(term(), term())}1162         %Explorer.Backend.LazySeries{op: :cos, args: non_empty_list(term(), term())}1163         %Explorer.Backend.LazySeries{op: :degrees, args: non_empty_list(term(), term())}1164         %Explorer.Backend.LazySeries{op: :radians, args: non_empty_list(term(), term())}1165         %Explorer.Backend.LazySeries{op: :sin, args: non_empty_list(term(), term())}1166         %Explorer.Backend.LazySeries{op: :tan, args: non_empty_list(term(), term())}1167         %Explorer.Backend.LazySeries{op: :cumulative_max, args: non_empty_list(term(), term())}1168         %Explorer.Backend.LazySeries{op: :cumulative_min, args: non_empty_list(term(), term())}1169         %Explorer.Backend.LazySeries{op: :cumulative_sum, args: non_empty_list(term(), term())}1170         %Explorer.Backend.LazySeries{op: :cumulative_count, args: non_empty_list(term(), term())}1171         %Explorer.Backend.LazySeries{op: :cumulative_product, args: non_empty_list(term(), term())}1172         %Explorer.Backend.LazySeries{op: :window_max, args: non_empty_list(term(), term())}1173         %Explorer.Backend.LazySeries{op: :window_mean, args: non_empty_list(term(), term())}1174         %Explorer.Backend.LazySeries{op: :window_median, args: non_empty_list(term(), term())}1175         %Explorer.Backend.LazySeries{op: :window_min, args: non_empty_list(term(), term())}1176         %Explorer.Backend.LazySeries{op: :window_sum, args: non_empty_list(term(), term())}1177         %Explorer.Backend.LazySeries{op: :window_standard_deviation, args: non_empty_list(term(), term())}1178         %Explorer.Backend.LazySeries{op: :ewm_mean, args: non_empty_list(term(), term())}1179         %Explorer.Backend.LazySeries{op: :ewm_standard_deviation, args: non_empty_list(term(), term())}1180         %Explorer.Backend.LazySeries{op: :ewm_variance, args: non_empty_list(term(), term())}1181         %Explorer.Backend.LazySeries{op: :strptime, args: non_empty_list(term(), term())}1182         %Explorer.Backend.LazySeries{op: :strftime, args: non_empty_list(term(), term())}1183         %Explorer.Backend.LazySeries{op: :contains, args: non_empty_list(term(), term())}1184         %Explorer.Backend.LazySeries{op: :re_contains, args: non_empty_list(term(), term())}1185         %Explorer.Backend.LazySeries{op: :replace, args: non_empty_list(term(), term())}1186         %Explorer.Backend.LazySeries{op: :re_replace, args: non_empty_list(term(), term())}1187         %Explorer.Backend.LazySeries{op: :strip, args: non_empty_list(term(), term())}1188         %Explorer.Backend.LazySeries{op: :lstrip, args: non_empty_list(term(), term())}1189         %Explorer.Backend.LazySeries{op: :rstrip, args: non_empty_list(term(), term())}1190         %Explorer.Backend.LazySeries{op: :downcase, args: non_empty_list(term(), term())}1191         %Explorer.Backend.LazySeries{op: :upcase, args: non_empty_list(term(), term())}1192         %Explorer.Backend.LazySeries{op: :substring, args: non_empty_list(term(), term())}1193         %Explorer.Backend.LazySeries{op: :split, args: non_empty_list(term(), term())}1194         %Explorer.Backend.LazySeries{op: :split_into, args: non_empty_list(term(), term())}1195         %Explorer.Backend.LazySeries{op: :json_decode, args: non_empty_list(term(), term())}1196         %Explorer.Backend.LazySeries{op: :json_path_match, args: non_empty_list(term(), term())}1197         %Explorer.Backend.LazySeries{op: :count_matches, args: non_empty_list(term(), term())}1198         %Explorer.Backend.LazySeries{op: :re_count_matches, args: non_empty_list(term(), term())}1199         %Explorer.Backend.LazySeries{op: :re_scan, args: non_empty_list(term(), term())}1200         %Explorer.Backend.LazySeries{op: :re_named_captures, args: non_empty_list(term(), term())}1201         %Explorer.Backend.LazySeries{op: :join, args: non_empty_list(term(), term())}1202         %Explorer.Backend.LazySeries{op: :lengths, args: non_empty_list(term(), term())}1203         %Explorer.Backend.LazySeries{op: :member, args: non_empty_list(term(), term())}1204         %Explorer.Backend.LazySeries{op: :field, args: non_empty_list(term(), term())}12051206     │1207 337 │     def to_expr(%LazySeries{op: unquote(op), args: unquote(args)}) do1208     │         ~1209     │1210     └─ lib/explorer/polars_backend/expression.ex:337:9: Explorer.PolarsBackend.Expression.to_expr/112111212     warning: the following clause is redundant:12131214         def to_expr(%Explorer.Backend.LazySeries{op: :standard_deviation, args: [arg1, arg2]})12151216     it has type:12171218         dynamic(%Explorer.Backend.LazySeries{op: :standard_deviation, args: non_empty_list(term())})12191220     previous clauses have already matched on the following types:12211222         %Explorer.Backend.LazySeries{op: :quantile, args: non_empty_list(term(), term())}1223         %Explorer.Backend.LazySeries{op: :argsort, args: non_empty_list(term(), term())}1224         %Explorer.Backend.LazySeries{op: :sort, args: non_empty_list(term(), term())}1225         %Explorer.Backend.LazySeries{op: :head, args: non_empty_list(term(), term())}1226         %Explorer.Backend.LazySeries{op: :tail, args: non_empty_list(term(), term())}1227         %Explorer.Backend.LazySeries{op: :peaks, args: non_empty_list(term(), term())}1228         %Explorer.Backend.LazySeries{op: :rank, args: non_empty_list(term(), term())}1229         %Explorer.Backend.LazySeries{op: :sample_n, args: non_empty_list(term(), term())}1230         %Explorer.Backend.LazySeries{op: :sample_frac, args: non_empty_list(term(), term())}1231         %Explorer.Backend.LazySeries{op: :exp, args: non_empty_list(term(), term())}1232         %Explorer.Backend.LazySeries{op: :skew, args: non_empty_list(term(), term())}1233         %Explorer.Backend.LazySeries{op: :round, args: non_empty_list(term(), term())}1234         %Explorer.Backend.LazySeries{op: :clip_float, args: non_empty_list(term(), term())}1235         %Explorer.Backend.LazySeries{op: :clip_integer, args: non_empty_list(term(), term())}1236         %Explorer.Backend.LazySeries{op: :variance, args: non_empty_list(term(), term())}1237         %Explorer.Backend.LazySeries{op: :standard_deviation, args: non_empty_list(term(), term())}1238         %Explorer.Backend.LazySeries{op: :acos, args: non_empty_list(term(), term())}1239         %Explorer.Backend.LazySeries{op: :asin, args: non_empty_list(term(), term())}1240         %Explorer.Backend.LazySeries{op: :atan, args: non_empty_list(term(), term())}1241         %Explorer.Backend.LazySeries{op: :cos, args: non_empty_list(term(), term())}1242         %Explorer.Backend.LazySeries{op: :degrees, args: non_empty_list(term(), term())}1243         %Explorer.Backend.LazySeries{op: :radians, args: non_empty_list(term(), term())}1244         %Explorer.Backend.LazySeries{op: :sin, args: non_empty_list(term(), term())}1245         %Explorer.Backend.LazySeries{op: :tan, args: non_empty_list(term(), term())}1246         %Explorer.Backend.LazySeries{op: :cumulative_max, args: non_empty_list(term(), term())}1247         %Explorer.Backend.LazySeries{op: :cumulative_min, args: non_empty_list(term(), term())}1248         %Explorer.Backend.LazySeries{op: :cumulative_sum, args: non_empty_list(term(), term())}1249         %Explorer.Backend.LazySeries{op: :cumulative_count, args: non_empty_list(term(), term())}1250         %Explorer.Backend.LazySeries{op: :cumulative_product, args: non_empty_list(term(), term())}1251         %Explorer.Backend.LazySeries{op: :window_max, args: non_empty_list(term(), term())}1252         %Explorer.Backend.LazySeries{op: :window_mean, args: non_empty_list(term(), term())}1253         %Explorer.Backend.LazySeries{op: :window_median, args: non_empty_list(term(), term())}1254         %Explorer.Backend.LazySeries{op: :window_min, args: non_empty_list(term(), term())}1255         %Explorer.Backend.LazySeries{op: :window_sum, args: non_empty_list(term(), term())}1256         %Explorer.Backend.LazySeries{op: :window_standard_deviation, args: non_empty_list(term(), term())}1257         %Explorer.Backend.LazySeries{op: :ewm_mean, args: non_empty_list(term(), term())}1258         %Explorer.Backend.LazySeries{op: :ewm_standard_deviation, args: non_empty_list(term(), term())}1259         %Explorer.Backend.LazySeries{op: :ewm_variance, args: non_empty_list(term(), term())}1260         %Explorer.Backend.LazySeries{op: :strptime, args: non_empty_list(term(), term())}1261         %Explorer.Backend.LazySeries{op: :strftime, args: non_empty_list(term(), term())}1262         %Explorer.Backend.LazySeries{op: :contains, args: non_empty_list(term(), term())}1263         %Explorer.Backend.LazySeries{op: :re_contains, args: non_empty_list(term(), term())}1264         %Explorer.Backend.LazySeries{op: :replace, args: non_empty_list(term(), term())}1265         %Explorer.Backend.LazySeries{op: :re_replace, args: non_empty_list(term(), term())}1266         %Explorer.Backend.LazySeries{op: :strip, args: non_empty_list(term(), term())}1267         %Explorer.Backend.LazySeries{op: :lstrip, args: non_empty_list(term(), term())}1268         %Explorer.Backend.LazySeries{op: :rstrip, args: non_empty_list(term(), term())}1269         %Explorer.Backend.LazySeries{op: :downcase, args: non_empty_list(term(), term())}1270         %Explorer.Backend.LazySeries{op: :upcase, args: non_empty_list(term(), term())}1271         %Explorer.Backend.LazySeries{op: :substring, args: non_empty_list(term(), term())}1272         %Explorer.Backend.LazySeries{op: :split, args: non_empty_list(term(), term())}1273         %Explorer.Backend.LazySeries{op: :split_into, args: non_empty_list(term(), term())}1274         %Explorer.Backend.LazySeries{op: :json_decode, args: non_empty_list(term(), term())}1275         %Explorer.Backend.LazySeries{op: :json_path_match, args: non_empty_list(term(), term())}1276         %Explorer.Backend.LazySeries{op: :count_matches, args: non_empty_list(term(), term())}1277         %Explorer.Backend.LazySeries{op: :re_count_matches, args: non_empty_list(term(), term())}1278         %Explorer.Backend.LazySeries{op: :re_scan, args: non_empty_list(term(), term())}1279         %Explorer.Backend.LazySeries{op: :re_named_captures, args: non_empty_list(term(), term())}1280         %Explorer.Backend.LazySeries{op: :join, args: non_empty_list(term(), term())}1281         %Explorer.Backend.LazySeries{op: :lengths, args: non_empty_list(term(), term())}1282         %Explorer.Backend.LazySeries{op: :member, args: non_empty_list(term(), term())}1283         %Explorer.Backend.LazySeries{op: :field, args: non_empty_list(term(), term())}12841285     │1286 337 │     def to_expr(%LazySeries{op: unquote(op), args: unquote(args)}) do1287     │         ~1288     │1289     └─ lib/explorer/polars_backend/expression.ex:337:9: Explorer.PolarsBackend.Expression.to_expr/112901291     warning: the following clause is redundant:12921293         def to_expr(%Explorer.Backend.LazySeries{op: :tan, args: [arg1]})12941295     it has type:12961297         dynamic(%Explorer.Backend.LazySeries{op: :tan, args: non_empty_list(term())})12981299     previous clauses have already matched on the following types:13001301         %Explorer.Backend.LazySeries{op: :quantile, args: non_empty_list(term(), term())}1302         %Explorer.Backend.LazySeries{op: :argsort, args: non_empty_list(term(), term())}1303         %Explorer.Backend.LazySeries{op: :sort, args: non_empty_list(term(), term())}1304         %Explorer.Backend.LazySeries{op: :head, args: non_empty_list(term(), term())}1305         %Explorer.Backend.LazySeries{op: :tail, args: non_empty_list(term(), term())}1306         %Explorer.Backend.LazySeries{op: :peaks, args: non_empty_list(term(), term())}1307         %Explorer.Backend.LazySeries{op: :rank, args: non_empty_list(term(), term())}1308         %Explorer.Backend.LazySeries{op: :sample_n, args: non_empty_list(term(), term())}1309         %Explorer.Backend.LazySeries{op: :sample_frac, args: non_empty_list(term(), term())}1310         %Explorer.Backend.LazySeries{op: :exp, args: non_empty_list(term(), term())}1311         %Explorer.Backend.LazySeries{op: :skew, args: non_empty_list(term(), term())}1312         %Explorer.Backend.LazySeries{op: :round, args: non_empty_list(term(), term())}1313         %Explorer.Backend.LazySeries{op: :clip_float, args: non_empty_list(term(), term())}1314         %Explorer.Backend.LazySeries{op: :clip_integer, args: non_empty_list(term(), term())}1315         %Explorer.Backend.LazySeries{op: :variance, args: non_empty_list(term(), term())}1316         %Explorer.Backend.LazySeries{op: :standard_deviation, args: non_empty_list(term(), term())}1317         %Explorer.Backend.LazySeries{op: :acos, args: non_empty_list(term(), term())}1318         %Explorer.Backend.LazySeries{op: :asin, args: non_empty_list(term(), term())}1319         %Explorer.Backend.LazySeries{op: :atan, args: non_empty_list(term(), term())}1320         %Explorer.Backend.LazySeries{op: :cos, args: non_empty_list(term(), term())}1321         %Explorer.Backend.LazySeries{op: :degrees, args: non_empty_list(term(), term())}1322         %Explorer.Backend.LazySeries{op: :radians, args: non_empty_list(term(), term())}1323         %Explorer.Backend.LazySeries{op: :sin, args: non_empty_list(term(), term())}1324         %Explorer.Backend.LazySeries{op: :tan, args: non_empty_list(term(), term())}1325         %Explorer.Backend.LazySeries{op: :cumulative_max, args: non_empty_list(term(), term())}1326         %Explorer.Backend.LazySeries{op: :cumulative_min, args: non_empty_list(term(), term())}1327         %Explorer.Backend.LazySeries{op: :cumulative_sum, args: non_empty_list(term(), term())}1328         %Explorer.Backend.LazySeries{op: :cumulative_count, args: non_empty_list(term(), term())}1329         %Explorer.Backend.LazySeries{op: :cumulative_product, args: non_empty_list(term(), term())}1330         %Explorer.Backend.LazySeries{op: :window_max, args: non_empty_list(term(), term())}1331         %Explorer.Backend.LazySeries{op: :window_mean, args: non_empty_list(term(), term())}1332         %Explorer.Backend.LazySeries{op: :window_median, args: non_empty_list(term(), term())}1333         %Explorer.Backend.LazySeries{op: :window_min, args: non_empty_list(term(), term())}1334         %Explorer.Backend.LazySeries{op: :window_sum, args: non_empty_list(term(), term())}1335         %Explorer.Backend.LazySeries{op: :window_standard_deviation, args: non_empty_list(term(), term())}1336         %Explorer.Backend.LazySeries{op: :ewm_mean, args: non_empty_list(term(), term())}1337         %Explorer.Backend.LazySeries{op: :ewm_standard_deviation, args: non_empty_list(term(), term())}1338         %Explorer.Backend.LazySeries{op: :ewm_variance, args: non_empty_list(term(), term())}1339         %Explorer.Backend.LazySeries{op: :strptime, args: non_empty_list(term(), term())}1340         %Explorer.Backend.LazySeries{op: :strftime, args: non_empty_list(term(), term())}1341         %Explorer.Backend.LazySeries{op: :contains, args: non_empty_list(term(), term())}1342         %Explorer.Backend.LazySeries{op: :re_contains, args: non_empty_list(term(), term())}1343         %Explorer.Backend.LazySeries{op: :replace, args: non_empty_list(term(), term())}1344         %Explorer.Backend.LazySeries{op: :re_replace, args: non_empty_list(term(), term())}1345         %Explorer.Backend.LazySeries{op: :strip, args: non_empty_list(term(), term())}1346         %Explorer.Backend.LazySeries{op: :lstrip, args: non_empty_list(term(), term())}1347         %Explorer.Backend.LazySeries{op: :rstrip, args: non_empty_list(term(), term())}1348         %Explorer.Backend.LazySeries{op: :downcase, args: non_empty_list(term(), term())}1349         %Explorer.Backend.LazySeries{op: :upcase, args: non_empty_list(term(), term())}1350         %Explorer.Backend.LazySeries{op: :substring, args: non_empty_list(term(), term())}1351         %Explorer.Backend.LazySeries{op: :split, args: non_empty_list(term(), term())}1352         %Explorer.Backend.LazySeries{op: :split_into, args: non_empty_list(term(), term())}1353         %Explorer.Backend.LazySeries{op: :json_decode, args: non_empty_list(term(), term())}1354         %Explorer.Backend.LazySeries{op: :json_path_match, args: non_empty_list(term(), term())}1355         %Explorer.Backend.LazySeries{op: :count_matches, args: non_empty_list(term(), term())}1356         %Explorer.Backend.LazySeries{op: :re_count_matches, args: non_empty_list(term(), term())}1357         %Explorer.Backend.LazySeries{op: :re_scan, args: non_empty_list(term(), term())}1358         %Explorer.Backend.LazySeries{op: :re_named_captures, args: non_empty_list(term(), term())}1359         %Explorer.Backend.LazySeries{op: :join, args: non_empty_list(term(), term())}1360         %Explorer.Backend.LazySeries{op: :lengths, args: non_empty_list(term(), term())}1361         %Explorer.Backend.LazySeries{op: :member, args: non_empty_list(term(), term())}1362         %Explorer.Backend.LazySeries{op: :field, args: non_empty_list(term(), term())}13631364     │1365 337 │     def to_expr(%LazySeries{op: unquote(op), args: unquote(args)}) do1366     │         ~1367     │1368     └─ lib/explorer/polars_backend/expression.ex:337:9: Explorer.PolarsBackend.Expression.to_expr/113691370     warning: the following clause is redundant:13711372         def to_expr(%Explorer.Backend.LazySeries{op: :variance, args: [arg1, arg2]})13731374     it has type:13751376         dynamic(%Explorer.Backend.LazySeries{op: :variance, args: non_empty_list(term())})13771378     previous clauses have already matched on the following types:13791380         %Explorer.Backend.LazySeries{op: :quantile, args: non_empty_list(term(), term())}1381         %Explorer.Backend.LazySeries{op: :argsort, args: non_empty_list(term(), term())}1382         %Explorer.Backend.LazySeries{op: :sort, args: non_empty_list(term(), term())}1383         %Explorer.Backend.LazySeries{op: :head, args: non_empty_list(term(), term())}1384         %Explorer.Backend.LazySeries{op: :tail, args: non_empty_list(term(), term())}1385         %Explorer.Backend.LazySeries{op: :peaks, args: non_empty_list(term(), term())}1386         %Explorer.Backend.LazySeries{op: :rank, args: non_empty_list(term(), term())}1387         %Explorer.Backend.LazySeries{op: :sample_n, args: non_empty_list(term(), term())}1388         %Explorer.Backend.LazySeries{op: :sample_frac, args: non_empty_list(term(), term())}1389         %Explorer.Backend.LazySeries{op: :exp, args: non_empty_list(term(), term())}1390         %Explorer.Backend.LazySeries{op: :skew, args: non_empty_list(term(), term())}1391         %Explorer.Backend.LazySeries{op: :round, args: non_empty_list(term(), term())}1392         %Explorer.Backend.LazySeries{op: :clip_float, args: non_empty_list(term(), term())}1393         %Explorer.Backend.LazySeries{op: :clip_integer, args: non_empty_list(term(), term())}1394         %Explorer.Backend.LazySeries{op: :variance, args: non_empty_list(term(), term())}1395         %Explorer.Backend.LazySeries{op: :standard_deviation, args: non_empty_list(term(), term())}1396         %Explorer.Backend.LazySeries{op: :acos, args: non_empty_list(term(), term())}1397         %Explorer.Backend.LazySeries{op: :asin, args: non_empty_list(term(), term())}1398         %Explorer.Backend.LazySeries{op: :atan, args: non_empty_list(term(), term())}1399         %Explorer.Backend.LazySeries{op: :cos, args: non_empty_list(term(), term())}1400         %Explorer.Backend.LazySeries{op: :degrees, args: non_empty_list(term(), term())}1401         %Explorer.Backend.LazySeries{op: :radians, args: non_empty_list(term(), term())}1402         %Explorer.Backend.LazySeries{op: :sin, args: non_empty_list(term(), term())}1403         %Explorer.Backend.LazySeries{op: :tan, args: non_empty_list(term(), term())}1404         %Explorer.Backend.LazySeries{op: :cumulative_max, args: non_empty_list(term(), term())}1405         %Explorer.Backend.LazySeries{op: :cumulative_min, args: non_empty_list(term(), term())}1406         %Explorer.Backend.LazySeries{op: :cumulative_sum, args: non_empty_list(term(), term())}1407         %Explorer.Backend.LazySeries{op: :cumulative_count, args: non_empty_list(term(), term())}1408         %Explorer.Backend.LazySeries{op: :cumulative_product, args: non_empty_list(term(), term())}1409         %Explorer.Backend.LazySeries{op: :window_max, args: non_empty_list(term(), term())}1410         %Explorer.Backend.LazySeries{op: :window_mean, args: non_empty_list(term(), term())}1411         %Explorer.Backend.LazySeries{op: :window_median, args: non_empty_list(term(), term())}1412         %Explorer.Backend.LazySeries{op: :window_min, args: non_empty_list(term(), term())}1413         %Explorer.Backend.LazySeries{op: :window_sum, args: non_empty_list(term(), term())}1414         %Explorer.Backend.LazySeries{op: :window_standard_deviation, args: non_empty_list(term(), term())}1415         %Explorer.Backend.LazySeries{op: :ewm_mean, args: non_empty_list(term(), term())}1416         %Explorer.Backend.LazySeries{op: :ewm_standard_deviation, args: non_empty_list(term(), term())}1417         %Explorer.Backend.LazySeries{op: :ewm_variance, args: non_empty_list(term(), term())}1418         %Explorer.Backend.LazySeries{op: :strptime, args: non_empty_list(term(), term())}1419         %Explorer.Backend.LazySeries{op: :strftime, args: non_empty_list(term(), term())}1420         %Explorer.Backend.LazySeries{op: :contains, args: non_empty_list(term(), term())}1421         %Explorer.Backend.LazySeries{op: :re_contains, args: non_empty_list(term(), term())}1422         %Explorer.Backend.LazySeries{op: :replace, args: non_empty_list(term(), term())}1423         %Explorer.Backend.LazySeries{op: :re_replace, args: non_empty_list(term(), term())}1424         %Explorer.Backend.LazySeries{op: :strip, args: non_empty_list(term(), term())}1425         %Explorer.Backend.LazySeries{op: :lstrip, args: non_empty_list(term(), term())}1426         %Explorer.Backend.LazySeries{op: :rstrip, args: non_empty_list(term(), term())}1427         %Explorer.Backend.LazySeries{op: :downcase, args: non_empty_list(term(), term())}1428         %Explorer.Backend.LazySeries{op: :upcase, args: non_empty_list(term(), term())}1429         %Explorer.Backend.LazySeries{op: :substring, args: non_empty_list(term(), term())}1430         %Explorer.Backend.LazySeries{op: :split, args: non_empty_list(term(), term())}1431         %Explorer.Backend.LazySeries{op: :split_into, args: non_empty_list(term(), term())}1432         %Explorer.Backend.LazySeries{op: :json_decode, args: non_empty_list(term(), term())}1433         %Explorer.Backend.LazySeries{op: :json_path_match, args: non_empty_list(term(), term())}1434         %Explorer.Backend.LazySeries{op: :count_matches, args: non_empty_list(term(), term())}1435         %Explorer.Backend.LazySeries{op: :re_count_matches, args: non_empty_list(term(), term())}1436         %Explorer.Backend.LazySeries{op: :re_scan, args: non_empty_list(term(), term())}1437         %Explorer.Backend.LazySeries{op: :re_named_captures, args: non_empty_list(term(), term())}1438         %Explorer.Backend.LazySeries{op: :join, args: non_empty_list(term(), term())}1439         %Explorer.Backend.LazySeries{op: :lengths, args: non_empty_list(term(), term())}1440         %Explorer.Backend.LazySeries{op: :member, args: non_empty_list(term(), term())}1441         %Explorer.Backend.LazySeries{op: :field, args: non_empty_list(term(), term())}14421443     │1444 337 │     def to_expr(%LazySeries{op: unquote(op), args: unquote(args)}) do1445     │         ~1446     │1447     └─ lib/explorer/polars_backend/expression.ex:337:9: Explorer.PolarsBackend.Expression.to_expr/114481449      warning: incompatible types given to dtype_error/3:14501451          dtype_error("strftime/2", dtype, :datetime_like)14521453      given types:14541455          (1456            binary(),1457            dynamic(1458              not ({:datetime, :microsecond or :millisecond or :nanosecond, binary()} and1459                     not {:naive_datetime, :microsecond or :millisecond or :nanosecond}) and1460                not {:naive_datetime, :microsecond or :millisecond or :nanosecond}1461            ),1462            -:datetime_like-1463          )14641465      but expected one of:14661467          term(), term(), non_empty_list(term(), term())14681469      where "dtype" was given the type:14701471          # type: dynamic(1472            not ({:datetime, :microsecond or :millisecond or :nanosecond, binary()} and1473                   not {:naive_datetime, :microsecond or :millisecond or :nanosecond}) and1474              not {:naive_datetime, :microsecond or :millisecond or :nanosecond}1475          )1476          # from: lib/explorer/series.ex:1145:161477          %Explorer.Series{dtype: dtype}14781479      type warning found at:1480      │1481 1146 │     do: dtype_error("strftime/2", dtype, :datetime_like)1482      │         ~1483      │1484      └─ lib/explorer/series.ex:1146:9: Explorer.Series.strftime/214851486Generated explorer app1487==> uboot_env1488Compiling 5 files (.ex)1489Generated uboot_env app1490==> dayoff1491Compiling 12 files (.ex)1492Generated dayoff app1493==> nimble_pool1494Compiling 2 files (.ex)1495Generated nimble_pool app1496==> exla1497Unpacking /home/nerves/.cache/xla/0.10.0/download/xla_extension-0.10.0-x86_64-linux-gnu-cpu.tar.gz into /work/proj/deps_rpi4/exla/cache1498Using libexla.so from /home/nerves/.cache/xla/exla/elixir-1.20.3-erts-17.0.4-xla-0.10.0-exla-0.13.1-uzp2q7t2znw2jdz523kyykvami/libexla.so1499/home/nerves/.nerves/artifacts/nerves_toolchain_aarch64_nerves_linux_gnu-linux_x86_64-15.3.1/bin/aarch64-nerves-linux-gnu-g++ -mabi=lp64 -fstack-protector-strong -mcpu=cortex-a72 -fPIE -pie -Wl,-z,now -Wl,-z,relro -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -pipe -O2 --sysroot /home/nerves/.nerves/artifacts/nerves_system_rpi4-portable-2.1.2/staging -fPIC -I/home/nerves/.nerves/artifacts/nerves_system_rpi4-portable-2.1.2/staging/usr/lib/erlang/erts-17.0.6/include -I/work/proj/deps_rpi4/fine/c_include -Icache/xla_extension/include -Wall -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers -Wno-comment -std=c++17 -w -DNDEBUG -O3 -DEXLA_PROD -c c_src/exla/exla.cc -o cache/0.13.1/objs/exla.o1500In file included from cache/xla_extension/include/xla/printer.h:31,1501                 from cache/xla_extension/include/xla/layout.h:32,1502                 from cache/xla_extension/include/xla/shape.h:37,1503                 from c_src/exla/custom_calls/../exla_nif_util.h:9,1504                 from c_src/exla/custom_calls/runtime_callback_bridge.h:9,1505                 from c_src/exla/exla.cc:15:1506cache/xla_extension/include/highwayhash/highwayhash.h:49:10: fatal error: highwayhash/hh_neon.h: No such file or directory1507   49 | #include "highwayhash/hh_neon.h"1508      |          ^~~~~~~~~~~~~~~~~~~~~~~1509compilation terminated.1510make: *** [Makefile:128: cache/0.13.1/objs/exla.o] Error 11511could not compile dependency :exla, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile exla --force", update it with "mix deps.update exla" or clean it with "mix deps.clean exla"1512==> nerves_compatibility_test1513** (Mix) Could not compile with "make" (exit status: 2).1514You need to have gcc and make installed. If you are using1515Ubuntu or any other Debian-based system, install the packages1516"build-essential". Also install "erlang-dev" package if not1517included in your Erlang/OTP version. If you're on Fedora, run1518"dnf group install 'Development Tools'".1519