Erlang is known for its designs that are well suited for systems. Any element of a tuple can be accessed in constant time. It is also a garbage-collected runtime system. Haskell features a type system with type inference and lazy evaluation. The sequential subset of Erlang supports eager evaluation, single assignment, and dynamic typing.