erlang compatibility